Tibco Spotfire - 仅当列中至少有 3 个值时才计算平均值 - 请参阅 desc

Tibco Spotfire - Calculate average only if there are minimum 3 values in a column - see desc

我想在 Spotfire 中仅当有最小值 3 个时才计算平均值。如果没有值或只有 2 个值,则平均值应为空白

原始数据:

Product       Age          Average
1
2
3             10      
4             12   
5             13             11
6
7             18 
8             19 
9             20             19
10            21             20

我真正能做到这一点的唯一方法是使用 3 个计算列。按此顺序插入这些计算列:

  • If(Min(If([Age] IS NULL,0,[Age])) over (LastPeriods(3,[Product]))<>0,1) as [BitFlag]
  • Avg([Age]) over (LastPeriods(3,[Product])) as [TempAvg]
  • If([BitFlag]=1,[TempAvg]) as [Average]

这将为您提供以下结果。您可以忽略/隐藏您不关心的两列。

结果

+---------+-----+---------+------------------+------------------+
| Product | Age | BitFlag |     TempAvg      |     Average      |
+---------+-----+---------+------------------+------------------+
|       1 |     |         |                  |                  |
|       2 |     |         |                  |                  |
|       3 |  10 |         |               10 |                  |
|       4 |  12 |         |               11 |                  |
|       5 |  13 |       1 | 11.6666666666667 | 11.6666666666667 |
|       6 |     |         |             12.5 |                  |
|       7 |  18 |         |             15.5 |                  |
|       8 |  19 |         |             18.5 |                  |
|       9 |  20 |       1 |               19 |               19 |
|      10 |  21 |       1 |               20 |               20 |
|      11 |     |         |             20.5 |                  |
|      12 |  22 |         |             21.5 |                  |
|      13 |  36 |         |               29 |                  |
|      14 |     |         |               29 |                  |
|      15 |  11 |         |             23.5 |                  |
|      16 |  23 |         |               17 |                  |
|      17 |  14 |       1 |               16 |               16 |
+---------+-----+---------+------------------+------------------+