我需要用id和year来表示聚合函数的含义。它应该很简单 - 但是无法做到。
一个例子:
ID year result
1 2011 50
1 2012 68
1 2012 45
2 2011 12
2 2011 80
2 2012 20
但我不明白在哪里提出条件:
AGGREGATE
/OUTFILE='test'
/BREAK=CUSTOMER_ID CUSTOMERIDCD year
/test_mean_under60=MEAN(result) **IF result > 60**
/N_BREAK=N.
答案 0 :(得分:0)
您无法在AGGREGATE
中执行条件语句。实现最终目标的一种方法是在聚合之前使用TEMPORARY.
和SELECT IF
。示例如下:
DATA LIST FREE / Id year result.
BEGIN DATA
1 2011 50
1 2012 68
1 2012 45
2 2011 12
2 2011 80
2 2012 20
END DATA.
DATASET DECLARE test.
TEMPORARY.
SELECT IF result > 60.
AGGREGATE OUTFILE='test'
/BREAK = ID year
/test_mean_over60 = MEAN(result)
/N_BREAK=N.
EXECUTE.