使用聚合函数进行IF计算

时间:2016-09-16 04:47:04

标签: if-statement tableau calculated-columns

   setTimeout(function() {
       $(group).css('display', 'none');
   }, 1000);

我想计算%UA负值,这样当A = B时,然后计算UA列中的所有负数,并将其除以A = B的结果总数。因此,对于A = 1且B = 1,%UA负= 1/2 = 0.5

我试过了:

A   B      UA
1   0    Negative
1   1    Negative
1   1    Positive
2   5    Negative
2   2    Positive

但是我收到了错误:

  

无法混合聚合和非聚合比较或导致'IF'   表达式

1 个答案:

答案 0 :(得分:3)

您可以将第一个IF语句放在Sum和Count aggs中,也可以将ATTR放在第一个IF语句周围。

SUM(IF [A] = [B] THEN IF[UA] = 'Negative' THEN 1 ElSE 0 END END)/COUNT(IF [A] = [B] THEN [UA] end)

IF ATTR([A]) = ATTR([B]) THEN
 SUM(IF[UA] = 'Negative' THEN 1 ElSE 0 END)/COUNT([UA]) END

后者将您的第一个IF语句转换为agg。