通过匹配另一个列条件来查找一列的最大值嗨,大家好,
在检查另一列(:条件)中的条件后,我必须在列(:PMA计数器)中找到最大值。条件列的不同行具有“ After”和“ Before”字符。
我想选择“之后”的那些,并在它们之间寻找最大的(:PMA Counter)。 我已经使用了下面的脚本,但是它不起作用,只给我Max,而没有考虑Condition列。
dt =当前表();
dt <<选择Where(包含(:Condition,“ After”));
dt <<新列(“当前PMA计数器”,字符,标称,公式(Col Max(:PMA计数器)));
脚本编写Re:通过匹配另一个列条件来查找一列的最大值公式不支持“选择”行。 这是一种处理您所需要的方法
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);
Re:通过匹配另一个列条件来查找一列的最大值非常感谢吉姆:)Re:通过匹配另一个列条件来查找一列的最大值我可以仅在与“之后”行相关的行中具有“最大值”吗?Re:通过匹配另一个列条件来查找一列的最大值我不明白您的要求。Re:通过匹配另一个列条件来查找一列的最大值我的意思是,只有在“条件”列中具有“之后”的行才能在“当前PMA计数器”列中获得“最大值”。其他行保持空白。回复:通过匹配另一个列条件来查找一列的最大值这是公式的几个版本(未经测试)。 它们在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:通过匹配另一个列条件来查找一列的最大值谢谢,吉姆
它正在查找该值,但由于某种原因未在该列中显示。当前的PMA计数器全为空白