之前发过一篇如何利用PowerBI动态显示最近N天的文章,效果如下:Power BI动态显示最近N天的数据-优化_Power BI动态显示最近N天的数据它的设计思路是,利用一个独立日期表生成切片器,来间接控制最近的N天,度量值只在最近N天时返回数据,最终实现的效果就是上面的柱形图只显示最近N天的柱子。但是这种做法有一个弊端,就是由于独立的日期表与其他表没有建立关系,所以生成的切片器也只能控制这一个图表,当报表中还有其他可视化对象时,无法控制其他图表,导致在报告中不得不放置两个日期切片器。那么如何让这个日期切片器可以作为一个正常的日期切片器,不仅控制最近N天,同时也能控制报告上的其他图表呢?我们这里变换个思路,和日期表相关的模型依然还是这样,Power BI动态显示最近N天的数据-优化_Power BI动态显示最近N天的数据_02但是与之前不同的是,生成切片器的日期用模型中建立关系的正常日期表,而做柱形图时,坐标轴的日期,用未建立关系的独立日期表来生成。因为订单表与独立日期表未建立关系,如果还用原来的度量值,柱形图将无法正确显示,Power BI动态显示最近N天的数据-优化_Power BI动态显示最近N天的数据_03

因为独立日期表与订单表没有筛选关系,所以数据都一样。

那么如何解决这个问题呢?

 

解决它的办法就是修改度量值,让没有建立关系的表也能产生筛选作用,可以用TREATAS函数来建立虚拟关系,更改度量值如下:Power BI动态显示最近N天的数据-优化_Power BI动态显示最近N天的数据_04逻辑和之前的一样,只是这里用TREATAS函数,将独立日期表,视同正常的日期表来使用,然后用这个优化的度量值来做柱形图,就能得到和之前一样的效果了。Power BI动态显示最近N天的数据-优化_Power BI动态显示最近N天的数据_05当然这个日期切片器是建立关系的正常日期表中的日期生成的,同样可以控制该页面的其他图表,建议大家使用这种方式来设计类似的动态展现需求。
温馨提示:第四届PowerBI可视化大赛火热进行中,访问PowerBI社区官网即可报名和上传作品:http://www.chinapowerbi.com5月26日截止,还剩不到一周的时间了,大家不要错过了哦~