Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 使用聚合函数进行IF计算_If Statement_Tableau Api_Calculated Columns - Fatal编程技术网

If statement 使用聚合函数进行IF计算

If statement 使用聚合函数进行IF计算,if-statement,tableau-api,calculated-columns,If Statement,Tableau Api,Calculated Columns,我想计算%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语句放在Sum和Count aggs中,也可以将ATTR

我想计算%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语句放在Sum和Count aggs中,也可以将ATTR放在第一个IF语句的周围

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


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

您可以将第一个IF语句放在Sum中并计算agg,也可以将ATTR放在第一个IF语句的周围

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

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

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