別の列の条件を照合して列の最大値を見つける皆さんこんにちは、
別の列(:条件)で条件を確認した後、列(:PMAカウンター)で最大値を見つける必要があります。条件列には、行ごとに「後」と「前」の文字があります。
「後」であるものを選び、それらの間の(:PMAカウンター)の最大値を見つけたいと思います。 以下のスクリプトを既に使用していますが、機能せず、条件列を考慮せずに最大値のみを取得します。
dt = Current table();
dt << Select Where(Contains(:Condition、"After"));
dt <<新しい列( "現在のPMAカウンター"、Character、Nominal、Formula(Col Max(:PMA Counter)));
スクリプティングRe:別の列の条件を照合して列の最大値を見つける行Selectは、式では受け入れられません。 ここにあなたが必要なものを処理する方法があります
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);
Re:別の列の条件を照合して列の最大値を見つけるジムありがとうございました:)Re:別の列の条件を照合して列の最大値を見つける「After」行に関連する行のみに最大値を設定できますか?Re:別の列の条件を照合して列の最大値を見つける私はあなたが何を求めているのか理解できません。Re:別の列の条件を照合して列の最大値を見つける「条件」列に「後」が含まれる行のみが、現在のPMAカウンター列の最大値を取得することを意味しました。他の行は空白のままです。Re:別の列条件を照合して列の最大値を見つけるこれが式のいくつかのバージョンです(それらはテストされていません)。 それらは、ColMaxが基づいているものが異なります
// formula where col max is based upon only rows with "After" in PMA Counter
// and the Col Max only appears in rows where PMA Counter has "After" in it
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula(
If( Row() == 1,
x = Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
// formula where col max is based upon all rows
// and the Col Max only appears in rows where PMA Counter has "After" in it
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula(
If( Row() == 1,
x = Col Max( :PMA Counter )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
Re:別の列条件を照合して列の最大値を見つけるありがとう、ジム
値を見つけていますが、何らかの理由で列に表示されません。現在のPMAカウンターはすべて空白です