こんにちはHSS
私はあなたの欲求を得るために行う必要がある3つのステップがあると思います。
1.マップするデータテーブルを要約します。 インデックスは「sensor」で、値は「max(Inlet)、max(Reture)」です。
//以下のJSLを使用して、新しいデータテーブルを要約できます
Data Table( "Data" ) << Summary(
Group( :Sensor ),
Max( :Occurrence ),
Subgroup( :Name( "Sub-Sensor" ) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
2.ifまたはmatchで条件を入力します。 ここでは、Ifを使用して、サマリーデータテーブルに新しい列を作成しました。
If(
:Name( "Occurrence, Inlet" ) >= 2 & :Name( "Occurrence, Return" ) >= 2, "Both",
:Name( "Occurrence, Inlet" ) >= 2 & :Name( "Occurrence, Return" ) < 2, "Inlet",
:Name( "Occurrence, Inlet" ) < 2 & :Name( "Occurrence, Return" ) >= 2, "Return",
"Empty"
);
3.「センサー」によって2つのデータテーブルを結合し、列「結果」が含まれていることを確認します。 次に、それを現実にする場合は条件を使用します。
//サマリーデータテーブルを元のデータテーブルに結合します
Data Table( "Data" ) << Join(
With( Data Table( "Data By (Sensor)" ) ),
Select(
:ID,
:Sensor,
:Name( "Sub-Sensor" ),
:Occurrence,
:Required Column,
:Name( "Required Column -Cause" )
),
SelectWith( :Result ),
By Matching Columns( :Sensor = :Sensor ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);
//以下のように列 '必須列-Cause'に数式を追加します
If(
:Name( "Sub-Sensor" ) == "Inlet" & :Result == "Inlet", "Inlet",
:Name( "Sub-Sensor" ) == "Return" & :Result == "Return", "Return",
:Name( "Sub-Sensor" ) == "Inlet" | :Name( "Sub-Sensor" ) == "Return" & :Result == "Both", "Both",
""
);
こんにちは皆さん、
明けましておめでとう、
私は別の場所で立ち往生し、アイデア/論理を持っていますが、正しい式に入れることができません。 説明については、添付の画像を参照してください。 サンプルデータも添付されています。
何か助けはありますか?
どうもありがとう。