分类: 系统运维
2011-07-14 10:20:14
在一个查询中,查询的结果行中包含了上下两个级别的数据,如第一行是江西省的数据,第二行是景德镇的数据,第三行是广东省
区域 产值 区域级别
江西省 123454.1 省级
景德镇 3452.2 市级
广东省 445666.3 省级
合计 569120.4
此合计值景德镇的值未参与计算,原因是已经包含在江西省的数值中了,那么该合计值不能自动生成,而是要使用total函数,书写方式如下:
total(currentMeasure within set filter([区域], [区域级别] = ‘省级’))
其中斜体的区域级别可以不作为显示项。上述total函数的汇总计算仅包含filter过滤后的内容进行汇总,此类用法最好能够配合”区域“内容的级别缩进,以便更为明确的表示层级关系,否则容易造成报表逻辑不明确,引起误解。
注意:total函数的这个用法在Cognos 8.3 FP4中有异常,如果[区域]或[区域级别] 的“聚合函数”设置成“已计算”可能会导致BIBUS进程崩溃;
另该函数使用在维度数据源中已定义成员集,未定义成员集,例如直接在关系数据源使用则会报语法警告,如下:
OP-ERR-0231 XX参数无效,该参数应为成员集
该警告不影响使用!