如何找到满足tibco spotfire条件的某一列中最大的一组行

时间:2016-04-13 19:01:16

标签: tibco spotfire

我想在某个列中找到满足TIBCO Spotfire条件的最多一组行。例如,请考虑下表:

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列的最大值。

我的决赛桌必须如下:

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

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

3 个答案:

答案 0 :(得分:1)

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

  1. 插入计算列:CASE WHEN [col 3] =" y"那么Max([col 2])OVER([col 1])END AS [calc]
  2. 插入计算列:最大值([calc])OVER([col 1])AS [col 4]
  3. 那些给了我[col 4]中你正在寻找的价值。

    Calculated Column Results

答案 1 :(得分:1)

首先([col 3] =" y"然后Max([col 2])OVER([col 1])结束的情况结束)OVER([col 1])应该做的伎俩(版本) 7.5)。

谢谢!

答案 2 :(得分:-1)

@monte_fisto 在类似的情况下,我们可以确定 col2 的最小值和最大值