2016-09-16 14 views
0
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マイナス=私が試した1/2 = 0.5集計関数を使用したIF計算

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

が、私はエラーを取得しています:

Cannot mix aggregate and non-aggregate comparisons or results in 'IF' expressions

答えて

2

ます最初のIFステートメントをSumとCount Agg内に配置するか、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 

後者はAGGにあなたの最初のIF文に変換します。