问题现象
基于数据模型创建的自助仪表盘交叉表,对维度进行分组后,如何对分组以及分组内成员进行排序的同时,再进行合计?通过命名集实现的排序,在放到仪表盘交叉表中就没法实现快速汇总了,在命名集中需要怎么写MDX函数实现汇总合计?
目标效果
①新增了分组,且对分组进行排序
...
③基于分组、排序后的结果进行合计计算,并且展示下最后一行
解决方案
1、对于目标效果①的分组,使用数据模型的新建分组字段即可。1、对于目标效果①的分组,使用数据模型的新建分组字段即可,参考:在数据模型中如何自定义分组?
对维度字段(CategoryName)创建分组字段:【大类分组】
...
被分组的维度字段(CategoryName)排序的命名集:【大类排序】
3、对于目标效果③,需要先通过计算成员实现合计,再通过命名集,将合计的计算成员,以及上面实现排序的命名集结合一起。
...
即,IIF(【大类分组】.大类分组.CurrentMember.caption="HJ_dlfz",(【大类分组】.成员.全部成员,CategoryName.成员.全部成员),null)
2)新建命名集,将分组排序命名集、维度成员排序命名集、分组字段计算成员和维度字段计算成员,通过新的命名集进行排序处理。
...
即,Union(NonEmptyCrossjoin(【大类分组排序】,【大类排序】),HJ_dlfz*HJ_dl)
4、最终结果