Microstrategy强制指标计算级别(Attribute+报表级)实现问题咨询
Microstrategy 不展示属性但强制按属性分组计算的解决方案
有两种成熟的实现方案可以满足你的需求,无需调整现有维度集配置:
方案1:修改度量计算级别(推荐)
这是最符合MSTR底层逻辑的实现方式,不需要修改报表布局:
- 打开你当前使用的金额汇总度量(即
sum((a11.UNIDADES * a11.PRECIO_UNITARIO))对应的度量对象)的编辑页 - 切换到级别配置 tab,添加
Invoice ID属性作为计算层级,勾选「按此级别分组」选项,保留「报表筛选器作用于该级别」的默认配置 - 保存度量后重新执行报表,生成的SQL会自动在
GROUP BY子句中加上Invoice ID对应的物理字段COD_FAC,MSTR会自动在内存层对SQL返回的结果按报表当前展示的维度做二次聚合,前端不会展示Invoice ID字段
方案2:报表维度隐藏
操作更简单,适合临时调整报表的场景:
- 直接将
Invoice ID属性拖拽到报表的行维度区域 - 右键该属性,选择「隐藏」选项
- 该属性不会在前端表格中展示,但会全程参与SQL层的分组逻辑,效果和你描述的「添加后再隐藏」的预期完全一致
效果验证
调整后重新查看报表生成的SQL,即可看到GROUP BY子句已经包含a11.COD_FAC字段,和你给出的预期SQL完全匹配:
select a11.ID_EMISOR, max(a13.DESCRIPCION), max(a13.COD_EMPRESA_DB2), a11.COD_FAC, sum((a11.UNIDADES * a11.PRECIO_UNITARIO)) WJXBFS1 from TABLE a11 join DIM_1 a12 on (a11.ID_PAIS_EMISOR = a12.ID_PAIS) join DIM_2 a13 on (a11.ID_EMISOR = a13.ID_EMPRESA) group by a11.ID_EMISOR, a11.COD_FAC
内容的提问来源于stack exchange,提问作者Shaderlolz
相关产品推荐
相关产品推荐

