通过匹配另一列条件来查找一列的最大值大家好,
在检查另一列(:Condition)中的条件后,我必须在一列(:PMA Counter)中找到最大值。条件列具有不同行的“之后”和“之前”字符。
我想选择那些“之后”并在它们之间找到 (:PMA Counter) 的最大值。我已经使用了下面的脚本,但它不起作用,只给我 Max 而不考虑 Condition 列。
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 Counter 全部空白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 列中获得 Max 值。 其他行保持空白。Re: 通过匹配另一列条件来查找一列的最大值我不明白你在问什么。Re: 通过匹配另一列条件来查找一列的最大值我可以只在与“之后”行相关的行中使用最大值吗?Re: 通过匹配另一列条件来查找一列的最大值非常感谢吉姆
Re: 通过匹配另一列条件来查找一列的最大值行 Select 不受公式支持。这是一种处理您需要的方法
dt << New Column( "Current PMA Counter",
Character,
Nominal,
Formula( Col Max( If( Contains( :Condition, "After" ), :PMA Counter, . ) ) )
);