
所谓表格动态列标题是指,标题名称随着外部切片器的变化而变化,下图左侧是固定标题,右侧是动态标题:

前期分享了HTML和Markdown的实现方案,今天分享下内置矩阵如何实现,并比较三者的应用场景。
矩阵视觉对象的行拖拽维度列(本例为城市),值存入三个指标:

得到:

维度表添加一个辅助列,列内容随意:

辅助列也放入矩阵行:

得到:

可以看到矩阵有两个总计行,位置分别在最上方和最下方,已知Power BI内置矩阵目前不支持列标题fx定义,我们可以把最上方的总计行变为动态标题。
接下来对所有指标进行改造,当在城市范围和总计栏时,显示原值,否则显示动态标题(本例为当前年月),度量值如下:
本月指标.修改 =
IF (
ISINSCOPE ( '维度表'[城市] ),
[本月指标],
IF (
ISINSCOPE ( '维度表'[辅助] ),
FORMAT ( MAX ( '日期表'[Date] ), "YYYY年M月" ),
[本月指标]
)
)放入矩阵值:

将原标题涂成白色隐藏,实现第一行看上去是标题,实际是总计栏,借道实现fx标题。

如果公司不允许使用第三方视觉对象,建议使用这种方式,缺点是每个指标都需要重构逻辑;如果公司允许使用第三方视觉对象,且对格式要求简单,可以ReadMe视觉对象加载Markdown,语法非常简单;如果对表格格式要求很高,可以HTML Content视觉对象加载HTML度量值,优点是美化无上限,缺点是代码较长。