PowerBI字段参数应用:动态显示列名

转载自https://zhuanlan.zhihu.com/p/564430323

最近碰到一个星友的提问,他结合这篇文章无日期上下文如何计算同比环比)的思路,已经建好了本月、上月、上年同期以及环比、同比数据这几个度量值,用矩阵展示每个类别的数据如下图:

想在此基础上为进一步设计:

  • 为所有的数据列添加一个表头,命名为“收入”;
  • 将本月、上月等显示为具体的月份,比如现在是2022年6月份,本月就显示为202206,上月显示为202205,并且月份是可以动态变动的,到7月份,本月自动显示为202207。

 

想要实现的效果如下:

 

 

对于第一个需求很简单,利用之前介绍过的构造复杂表格的思路就可以做到:

如何用Power BI设计复杂结构的表格?

 

而对于第二个需求是个难点,在5月之前很难做到,不过现在利用新的字段参数功能,上面这两个需求都可以轻松实现,下面介绍一下实现步骤。

 

1. 新建字段参数

利用已经建好的度量值生成字段参数。

 

关于字段参数的基本用法请参考:Power BI字段参数介绍以及常见应用场景

 

 

 

2. 为参数表添加一列

打开参数的DAX表达式,手动添加一列,每一行都是“收入”。

 

然后将参数放到矩阵的【值】中,手动添加的列放到矩阵的【列】中,

 

 

效果如下:

 

这样就添加了一个表头,实现了第一个需求。

左上角自动显示了该列的列名,你可以双击【列】中的字段,将它直接修改为空格,就不会显示了。

 

3. 修改参数表中的参数名称

自动生成的字段参数,名称默认是度量值或者列字段的名称,这个名称是静态的文本,不过它也是可以利用DAX来调整为动态的变量。

这里接着修改参数表的公式如下:

 

这里的逻辑是先利用变量找出本月、上月、上年同期对应的年度月份,然后将参数表的第一列,修改为对应的变量名,其中同比和环比也在字符的前面加上对应的年月,以便更清晰的显示出具体是哪个月的指标。

 

这样修改后参数表的第一列就变成了具体的年月,矩阵也自动变成了需求的效果:

参数的名称利用TODAY函数来获取的本月和上月的名称,那么随着时间的变化,这些列名也会自动的调整。

利用字段参数这个特性,不用单独构造结构表,也可以便捷而灵活地来设计一些个性化的中国式报表了。

posted @ 2023-01-17 14:02  锦绣良缘  阅读(724)  评论(0)    收藏  举报