Excel OLAP工具中MDX计算度量IIF函数合计值错误如何用Sum解决
问题原因
你当前的计算度量逻辑是先聚合后判断,合计行只会判断所有行汇总后的Target总数值是否大于0,符合就返回1,完全不符合你要统计「Target>0的行的总数量」的需求。
修正方案
你需要把逻辑调整为先逐行判断条件,再对符合条件的结果求和,示例MDX写法如下:
Sum( EXISTING [你统计维度的最低级成员].Members, IIF([Measures].[Target] > 0, 1, NULL) )
参数说明
EXISTING关键字会自动适配你Excel透视表当前的筛选、行维度上下文,不需要手动调整维度范围- 如果你是固定统计某一维度的符合条件成员数量,直接替换
[你统计维度的最低级成员]为对应维度属性即可,比如要统计符合条件的门店数量,就写[门店].[门店ID].Members
示例
假设你要统计所有销售单中Target>0的订单数,写法为:
Sum( EXISTING [订单].[订单ID].Members, IIF([Measures].[Target] > 0, 1, NULL) )
这样不管你透视表行维度放的是区域、日期还是商品分类,行级和合计值都会按照当前上下文正确统计符合条件的总数。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

