|
Determinants(决定因素)是IBM Cognos BI提供的一项功能,典型情况下是当对数据进行聚合运算时提供对数据组的粒度进行控制,从而达到排除重复的记录.
用途举例:
表T_A 表T_B
key col_A col_C key col_A col_B
1 1 one 101 1 7
2 1 two 102 1 8
3 1 three 103 1 9
现在需要根据col_A对col_B进行聚合:
本地sql语句如下:
select A.col_A,sum(B.col_B) from T_A A,T_B B where A.col_A=B.col_A group by A.col; 以上语句将会进行重复计算;
具体如下: 我们希望得到的数据是
col_A col_B
1 24
而以上语句会是这样(笛卡尔积):
T_A.col_A T_B.col_B
1 7
1 8
1 9
1 7
1 8
1 9
1 7
1 8
1 9
结果是: col_A col_B
1 24*3
通过决定因素的设置这里主要对col_A,即先对col_A进行分组,具体语句可能如下:
with T_C as(select min(T_A.col_A)from T_A)
select C.col_A,sum(B.col_B) from T_C C,T_B B where C.col_A=B.col_A group by C.col; |
|
|