これは、取得しようとしている結果を示す4番目の列「望ましい数式列」を含むデータテーブルの例です。
| グループ | サンプル番号 | データ値 | 希望する数式列 |
あ | 1 | 22.1 | 200 |
| あ | 2 | 104.2 | 200 |
| あ | 3 | 200 | 200 |
| B | 1 | 18.6 | 199.5 |
| B | 2 | 95.4 | 199.5 |
| B | 3 | 105.8 | 199.5 |
| B | 4 | 170 | 199.5 |
| B | 5 | 199.5 | 199.5 |
| ハ | 1 | 40 | 100 |
| ハ | 2 | 60 | 100 |
| ハ | 3 | 80 | 100 |
| ハ | 4 | 100 | 100 |
各グループの最後の時点のデータ値の値を入力する列式を探しています。
前もって感謝します!
ジュリエット
ごめん。 問題を読み間違えたので、コメントを削除します。 受け入れられた解決策は間違いなく進むべき道です。
データがサンプルとともに常に増加する場合、これは Col Max 関数を使用すると非常に簡単です。最高のサンプルが常に最高のデータ値を持つとは限らない場合は、もう少し複雑です。 以下の考えられるアプローチの 1 つを参照してください。これは、大きなテーブルでは遅くなることに注意してください。
New Column( "If Data always Increases with Sample Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Max( :Data Value, :Group ) ),
Set Display Width( 171 )
);
New Column( "If Data not related to Sample Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
MaxSample = Col Max( :Sample Number, :Group );
g = Associative Array( Loc( :Group << Get Values(), :Group ) );
s = Associative Array( Loc( :Sample Number << Get Values(), MaxSample ) );
union = g;
union << intersect( s );
r = Max( union << get keys );
:Data Value[r];
),
Set Display Width( 136 )
);