edcf 发表于 2015-10-4 07:16:19

IBM Cognos FM Determinants

  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;
页: [1]
查看完整版本: IBM Cognos FM Determinants