Power BI——动态轴


上面的示例视频显示了用户从切片器中选择诸如YearMonthDay的选项,并且页面上的其他三个视觉效果做出了反应,将所选项目显示为轴的效果。


Month被选中时,视觉效果中的数据都是通过月来显示。同样,当用户选择Year时,视觉效果中的数据都是通过年来显示。


数据建模方法


第一步是在模型中创建一个表,该表将用于控制动态轴,需要包括切片器使用的列。在示例中,控制表称为“期间表”。期间表的数据可以在Power BI的外部生成,但本次案例通过DAX来创建。以下DAX代码通过使用UNION函数将不同类型的期间汇总到一个“期间

表”中。



重要的是要在此处注意,特定日期将多次出现在最终的表中。在这种情况下,“维度日期”中的每个日期将出现三次,因此无法使用传统的“ 一对多”关系将该表和模型中的其他表做关联。


类型ID列可用于对类型列进行排序,以控制文本在切片器中的显示顺序。



期间表中的样本数据效果是这样的。


下图显示了所使用关系的详细信息。关系的基数设置为多对多(*:*),并且交叉筛选器方向直接设置为

单一(期间表筛选订单)。忽略关于多对多的警告。


现在,可以在切片器中使用“ 期间”表中的“ 类型”列为用户提供过滤。将“期间表中的“内容“ 列用作为可视化中的轴。做完这一切后你就会拥有动态轴的效果。


确定相对期间


现在是成功拥有了动态时间段的视觉效果,但是,选择“天”或“月”时,你可能会发现行/列过多。此示例的另一个技巧的话是如何通过度量以显示相对的N个时间段,以实现更好的效果。


第一步是创建一个称为“动态相对日期”的辅助度量,该度量用来确定倒退时间段。该示例使用基数为10。

具体公式如下:


通过在计算中使用此度量为过滤器,以限制每个计算返回的时间。在有些情况下,这可能会加快你的报告速度。例如下方这个计算度量,CALCULATE语句中的FILTER函数传递一条过滤,只使用在[动态相对日期]度量中计算出的值之后的日期


这就是一个不涉及书签,基于数据建模用于解决动态轴问题的解决方案。

你学会了吗?




Power BI 2月产品功能更新——视频上线

【2020】Power BI 2月产品功能首发更新