1

假设我们在 SAS Visual Analytics 中加载了下表作为数据源:

========================
天 | 对象ID | 价值
1 | 1 | 1.5
1 | 2 | 1.5
1 | 3 | 3.2
2 | 1 | 1.5
2 | 2 | 1.5
3 | 1 | 1.5
3 | 4 | 4.3
========================

现在我想获得这 3 天内所有不同 objectID 的总和(假设该值不会随天而变)。文学,我想得到:

value_for_objectID_1 + value_for_objectID_2 + value_for_objectID_3 + value_for_objectID_4

在这种情况下1.5+1.5+3.2+4.3 =10.5

以 SQL 查询的形式:

select sum(a.value) from (select distinct objectID, value from DATA_TABLE_ABOVE) a;

由于据我所知,SAS Visual Analytics 不在“报表设计器”中选择的数据源内提供 SQL 查询,如何有条件地聚合值(在这种情况下,是在另一列的不同值上)。任何提示/建议都会非常有帮助。

4

1 回答 1

0

尝试这个:

proc sort data=have;
by objectid;
run;

data want;
   set have end=last;
   by objectid;
   retain sum;
   if first.objectid then sum+value;
   if last then output;
   keep sum;
run;
于 2015-11-09T14:50:54.497 回答