|

Power BI 字段参数和计算组:时间智能矩阵

Power BI 2023的技术峰会[1]就要举行了,大家有没有感兴趣的主题呢,我个人比较感兴趣的是计算组与字段参数的组合。这两个算是Power BI中比较强大的功能了,它们组合在一起能引起怎样的火花呢?

先来说计算组,首先想到的自然是时间智能,使用计算组来实现MTD、YTD、QTD、YOY等等时间相关指标可以减少书写大量的度量值。

字段参数,可以动态切换所选的类别,无论是作为切片器还是动态轴抑或是动态指标切换都能有很好的效果。

所以,计算组和字段参数结合起来能不能让时间智能更加智能呢?

我们仍然使用微软官方提供的AdventureWorks来演示,有如下基础度量

Sales Amount = SUM( 'FactInternetSales'[SalesAmount] )

Sales Quantity = SUM( 'FactInternetSales'[OrderQuantity])

Sales Cost = SUM( 'FactInternetSales'[TotalProductCost])

Sales Margin = [Sales Amount] - [Sales Cost]

Margin % = DIVIDE( [Sales Quantity], [Sales Amount])

接下来使用tabular editor创建一个计算组,包含MTD、QTD、YTD三个计算项

这样我们就实现了最简单的时间智能的计算组的效果,

接下来我们需要创建一个字段参数,从而可以使列可以动态切换,比如我们想实现当选择YTD时列显示的是季度,当选择QTD时列显示的是月份,当选择MTD时显示的是日期。创建字段参数,并修改名称如下:

先来看下效果,

使用字段参数实现了轴的动态切换,但是值并没有变化,比如字段参数选择了QTD值还是每个月的值。这是因为计算组和字段参数是两个不同的切片器,当我们字段参数选择QTD的时候,计算组也要选择QTD,这在用户交互上是非常不方便的。

很多人可能已经想到了,可以使用切片器同步,但是切片器同步可以实现我们想要的效果吗?

我们在字段参数切片器上创建了切片器同步,当选择QTD时,传递给计算组的是月份列,显示计算组是不会生效的,那我们应该怎么做呢,我们可以再创建一个计算组。

先获取当前选择的字段参数的类别,然后返回相应时间智能计算组的值

回到报表,这时需要做一些变更,删除掉原先时间智能计算组的切片器,然后在矩阵上添加筛选为刚创建的计算组

当然,我们也可以再创建一个包含度量值的字段参数,效果如下

这个矩阵只选择了三个度量,如果我们选择了很多个度量,能不能在表头里就对度量值进行分组呢?

引用链接

[1] Power BI 2023的技术峰会: https://powerbisummitapp.azurewebsites.net/SingleAgendaApp



本篇文章来源于微信公众号: PowerBI木小桼

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注