嗨HSS
我认为需要做 3 个步骤才能满足您的需求。
1. 汇总您的数据表以进行映射。 索引是“传感器”,值是“最大(入口),最大(返回)”。
//可以使用下面的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.通过“传感器”将两个数据表连接在一起,并确保列“结果”包含。 然后使用条件 if 使其成为现实。
// 将汇总数据表连接到原始数据表
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 )
);
// 在“必填列-原因”列中添加公式,如下所示
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",
""
);
大家好,
新年快乐,
我被困在另一个地方,有想法/逻辑,但无法输入正确的公式。 请参阅附图进行说明。 样本数据也附上。
有什么帮助吗?
非常感谢。