別の列条件に一致させて列の最大値を見つける皆さんこんにちは、
別の列 (: 条件) の状態を確認した後、列 (:PMA カウンター) の最大値を見つける必要があります。条件列には、さまざまな行の「後」と「前」の文字があります。
「後」のものを選び、それらの間の (:PMA カウンター) の最大値を見つけたいと思います。以下のスクリプトを既に使用していますが、機能しておらず、Condition 列を考慮せずに Max しか表示されません。
dt=現在のテーブル();
dt< dt<スクリプティングRe: 別の列条件に一致する列の最大値を見つける優れたソリューション
ありがとう:)Re: 別の列条件に一致する列の最大値を見つける
Current PMA Counter 列を誤って文字列として作成してしまい、数値にする必要がありました...以下のJSLが機能するようです
names default to here(1);
dt=current data table();
dt << New Column( "Current PMA Counter",
Formula(
If( Row() == 1,
x = Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) )
);
If( Contains( :Condition, "After" ),
y = x,
y = .
);
y;
)
);
Re: 別の列条件に一致する列の最大値を見つける添付データをご覧いただけます。
Re: 別の列条件に一致する列の最大値を見つけるこれを適用するサンプル データ テーブルを添付できますか?Re: 別の列条件に一致する列の最大値を見つけるありがとう、ジム
値を見つけていますが、何らかの理由で列に表示されません。 現在の PMA カウンターはすべて空白ですRe: 別の列条件に一致する列の最大値を見つける数式のいくつかのバージョンを次に示します (テストされていません)。Col Max が何に基づいているかが異なります。
// 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: 別の列条件に一致する列の最大値を見つけるつまり、Condition 列に「After」が含まれる行のみが、Current PMA Counter 列の最大値を取得します。 他の行は空白のままです。Re: 別の列条件に一致する列の最大値を見つける私はあなたが何を求めているのか理解できません。Re: 別の列条件に一致する列の最大値を見つける「After」行に関連する行のみに最大値を設定できますか?Re: 別の列条件に一致する列の最大値を見つけるどうもありがとうジム:)Re: 別の列条件に一致する列の最大値を見つける行 Select は式によって受け入れられません。必要なものを処理する方法は次のとおりです
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);