Power BI——动态轴
本次案例用于解决轴通过你的选择动态切换的问题。有几种方法可以解决此问题,例如使用书签。本次案例是基于数据建模来解决该问题。
动态轴示例
上面的示例视频显示了用户从切片器中选择诸如Year,Month,Day的选项,并且页面上的其他三个视觉效果做出了反应,将所选项目显示为轴的效果。
当Month被选中时,视觉效果中的数据都是通过月来显示。同样,当用户选择Year时,视觉效果中的数据都是通过年来显示。
数据建模方法
第一步是在模型中创建一个表,该表将用于控制动态轴,需要包括切片器使用的列。在示例中,控制表称为“期间表”。期间表的数据可以在Power BI的外部生成,但本次案例通过DAX来创建。以下DAX代码通过使用UNION函数将不同类型的期间汇总到一个“期间表”中。
重要的是要在此处注意,特定日期将多次出现在最终的表中。在这种情况下,“维度日期”中的每个日期将出现三次,因此无法使用传统的“ 一对多”关系将该表和模型中的其他表做关联。
类型ID列可用于对类型列进行排序,以控制文本在切片器中的显示顺序。
期间表中的样本数据效果是这样的。
下图显示了所使用关系的详细信息。关系的基数设置为多对多(*:*),并且交叉筛选器方向直接设置为单一(期间表筛选订单)。忽略关于多对多的警告。
现在,可以在切片器中使用“ 期间”表中的“ 类型”列为用户提供过滤。将“期间”表中的“内容“ 列用作为可视化中的轴。做完这一切后你就会拥有动态轴的效果。动态效果参考
确定相对期间
现在是成功拥有了动态时间段的视觉效果,但是,选择“天”或“月”时,你可能会发现行/列过多。此示例的另一个技巧的话是如何通过度量以显示相对的N个时间段,以实现更好的效果。
第一步是创建一个称为“动态相对日期”的辅助度量,该度量用来确定倒退时间段。该示例使用基数为10。
具体公式如下:
通过在计算中使用此度量为过滤器,以限制每个计算返回的时间。在有些情况下,这可能会加快你的报告速度。例如下方这个计算度量,CALCULATE语句中的FILTER函数传递一条过滤,只使用在[动态相对日期]度量中计算出的值之后的日期。
这就是一个不涉及书签,基于数据建模用于解决动态轴问题的解决方案。
你学会了吗?
推荐阅读
马上报名:构建有吸引力有说服力的仪表板 — 微软Skateboard Store仪表板最佳实践
技术交流
1.Power BI免费下载:http://www.yeacer.com/
Microsoft Power BI Desktop中文最新版:下载地址
2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。
Power Data技术交流群:702966126 (验证注明:博客园Power BI)
更多精彩内容请关注微信公众号:悦策PowerBI
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/