2016-09-16 8 views
0
A B  UA 
1 0 Negative 
1 1 Negative 
1 1 Positive 
2 5 Negative 
2 2 Positive 

% UA 음수를 계산하여 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 

후자는 if 문 AGG에 처음으로 변환합니다.

관련 문제