簡體   English   中英

使用聚合函數進行IF計算

[英]IF calculation with aggregate functions

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

我想計算%UA Negative,以便當A = B時,對UA列中的所有負數進行計數,並將其除以A = B的結果總數。因此,對於A = 1和B = 1,%UA Negative = 1 / 2 = 0.5

我試過了:

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

但我得到了錯誤:

無法混合匯總和非匯總比較或結果為“ IF”表達式

您可以將第一個IF語句放在Sum and 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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM