如何在满足tibco spotfire条件的特定列中找到一组行的最大值

how to find maximum of a group of rows in a certain column which satisfies a condition in tibco spotfire

我想在 TIBCO Spotfire 中找到满足条件的特定列中的一组行的最大值。例如,考虑下面的 table:

col 1|col 2|col 3
  1  |  2  |  y  
  1  |  3  |  y  
  1  |  6  |  y  
  1  |  8  |  n  
  1  |  7  |  n  
  1  |  6  |  y  
  2  |  2  |  y  
  2  |  10 |  y  
  2  |  6  |  y  
  2  |  9  |  n  
  2  |  7  |  y  
  2  |  6  |  n  

我想用 [col 1] = 1 对所有行进行分组,并仅考虑那些具有 [col 3] = "y".

的行来找到第 2 列的最大值

我的最终 table 必须如下所示:

col 1|col 2|col 3|col 4
  1  |  2  |  y  | 6
  1  |  3  |  y  | 6
  1  |  6  |  y  | 6
  1  |  8  |  n  | 6
  1  |  7  |  n  | 6
  1  |  6  |  y  | 6
  2  |  2  |  y  | 10
  2  |  10 |  y  | 10
  2  |  6  |  y  | 10
  2  |  9  |  n  | 10
  2  |  7  |  y  | 10
  2  |  6  |  n  | 10

有人可以帮我解决这个问题吗?

我想出了一些听起来像你已经尝试过的东西,但这里是。

  1. 插入计算列:CASE WHEN [col 3]="y" THEN Max([col 2]) OVER ([col 1]) END AS [calc]
  2. 插入计算列:Max([calc]) OVER ([col 1]) AS [col 4]

这些在 [col 4] 中提供了您正在寻找的值。

First(case when [col 3]="y" then Max([col 2]) OVER ([col 1]) end) OVER ([col 1]) 应该可以解决问题(版本 7.5 ).

谢谢!

@monte_fisto 在类似的情况下我们可以识别 col2

的最小值和最大值吗