再:式の助け!これを行う1つの方法があります。 最初に現在のLab Dateの範囲内にあるすべての生検日付を見つけ、次に見つかったBiopsysから現在のLab Dateに最も近い生検を見つけます。
dt = Current Data Table();
x = .;
Tx = :Tx#;
theRows = dt << get rows where( Tx == :Tx# & :Bx Date >= :Lab Date - In Days( 90 ) & :Bx Date <= :Lab Date + In Days( 90 ) );
If( N Rows( theRows ) > 0,
If( N Rows( theRows ) == 1,
x = :Bx Date[theRows[1]],
x = :Bx Date[theRows[1]];
For( i = 2, i <= N Rows( theRows ), i++,
If( Abs( :Bx Date[theRows[i]] - :Lab Date ) < Abs( x - :Lab Date ),
x = :Bx Date[theRows[i]]
)
);
)
);
x;再:式の助け!これはとは少し異なるアプローチです。 @txnelson 。列に日付値を入力するのではなく、式は検査日が生検日から3か月以内であるかどうかを示します。ラボの日付のいくつかは、複数の生検日から3か月以内に収まったため、このアプローチを使用しています。
dt = Current Data Table();
currentPatientId = :Tx#;
latestBxDates = :Bx Date[dt << get rows where(
!Is Missing( :Bx Date ) & currentPatientId == :Tx#
)];
nDays = In Days( 90 );
Any( :Lab Date - nDays < latestBxDates < :Lab Date + nDays );
再:式の助け!あなたの速い返事をありがとう。私があなたの公式を適用するならば、私は以下を得ます…。(スクリーンショット参照) 残念なことに、新しい「列6」の日付はBx日付を過ぎています…..私の質問は生検に至るまでの投薬レベルが生検結果にどのように影響するかということですので理想的ではありません。生検時に列6の日付がBx日付列から次の生検の日付に変わるようにこれを微調整する方法はありますか?
おかげで、これであなたを邪魔して申し訳ありません。
再:式の助け!式の鍵となるのは、どの生検日に注目するかを選択することです。 現在の検査日以降の生検日を調べたくない場合は、選択基準を変更するだけです。
dt = Current Data Table();
x = .;
Tx = :Tx#;
theRows = dt << get rows where( Tx == :Tx# & :Bx Date >= :Lab Date - In Days( 90 ) & :Bx Date <= :Lab Date );
If( N Rows( theRows ) > 0,
If( N Rows( theRows ) == 1,
x = :Bx Date[theRows[1]],
x = :Bx Date[theRows[1]];
For( i = 2, i <= N Rows( theRows ), i++,
If( Abs( :Bx Date[theRows[i]] - :Lab Date ) < Abs( x - :Lab Date ),
x = :Bx Date[theRows[i]]
)
);
)
);
x;再:式の助け!こんにちは @ cjw0 、
もう一度言い換えると、テーブルをTx#を昇順に並べ替えてLab Dateを降順に並べ替えると、この式はもっと簡単になると思います。

次に、次のようにして新しい式列を作成します。
If(
Row() == 1 | :Lab Date == :Bx Date | :Tx# != Lag( :Tx# ), :Bx Date,
Is Missing( :Bx Date ) & Lag( :Column 6 ) - :Lab Date <= In Days( 90 ), Lag( :Column 6 )
)
お役に立てれば。
再:式の助け!このEメールおよび/またはこの送信に含まれる文書は受取人のみを対象としており、法的に特権または機密情報が含まれている場合があります。許可なく使用、開示、配布、コピー、頒布をすることは固く禁じられています。この送信を誤って受信した場合は、直ちに送信者に通知して、元のものを返却してください。
Ce courriel et toutの資料は、個人的なアドレスまたは個人的なアドレスで送信されるコンテンツの送信先を示したものです。Il peut contenir desは、個人情報や機密情報を保護しています。利用、分割、配布、コピー、または非自動化の拡散の厳格化をはかる。メッセージを送信して、メッセージを送信して、メッセージを送信してすぐに確認することができません。公式ヘルプ!JMP®Pro 14.2.0を使用しています
私はJMPの式を書くのにはあまり経験がありません。私がやろうとしているのは、生検を受けたことのある患者の平均投薬レベルを比較することです。生検は不規則な時間間隔で行われるため、[Bx Date]列のほとんどのセルは空白になります(その日に生検は行われませんでしたが、投薬レベルについてテストされました)。特定のBx日付から3か月以内にセルにラベルを付ける式を書くことができれば、その列を使用して生検日から3か月以内のデータのみを除外し、統計を取り始めることができます。理想的には、処方は最初に薬物レベルが同じ患者から来ていることを確認するでしょう(Tx#は個々の患者を指します)。
ご協力ありがとうございました