PowerBI动态显示最近N期的数据

前一段的文章介绍了如何动态显示最近N天(PowerBI动态显示最近N天的数据),如果想动态的显示最近N年、最近N月,依然可以参考上篇文章的做法。

更进一步的,但是如果想根据维度的动态选择,来显示最近N期,怎么做呢?

先看看效果,

粒度、参数均可以动态选择:

选择”月“和参数7,显示所选时间前7个月的数据
选择”季“和参数5,显示所选时间前5个季度的数据

并且根据不同的选择,动态呈现对应粒度的坐标轴。

这是怎么做的呢?整体思路与上一篇文章类似,但细节上需要更细致的设置,下面是实现步骤。

1,完善原始'日期表'

为了不同的粒度排序的需要,在日期表中为月份、季度和年度都添加一个编号,如下图所示。

2,建立'日期粒度表'

根据模型中的日期表,使用DAX建立一个新的日期粒度表,DAX如下:

看着代码很长,其实就是一段简单的代码复制4遍,分别生成年、季、月、日的粒度表,并利用UNION函数将他们合并在一起,这个粒度表是这样的,

它实际上是将需要动态展示的粒度,整合到一列中,每一个日期都包含完整的粒度类型。

同上一篇文章,再将这个日期粒度表复制一份,以便用于切片器,而不会产生交叉筛选。

3,建立模型

将'日期粒度表'与'订单表'建立关系,用于切片的日期粒度表不要建立关系,模型关系图如下。

因为日期粒度表中的每一个日期都是重复的,所有二者建立的关系是多对多的关系,这并不影响后面的使用。

4,建立度量值

为了动态的N期,依然需要先设置一个参数(创建「参数」轻松搞定动态分析),这里不再赘述,度量值编写如下:

5,生成图表

利用日期粒度表中的字段[粒度]和度量值[最近N期 收入]生成一个柱形图,并用 切片日期粒度表中的字段生成两个切片器,即可达到本文开头看到的效果,轻松呈现动态的最近N期的效果。

(0)

相关推荐