Power BI制作倒计时工具

2022-04-06 15:12:53 浏览数 (1)

我们常常在会议、培训或者煮个鸡蛋时使用倒计时,上图是某手机中的界面,在Power BI中也可以制作一个倒计时工具,便于时间管理。

使用内置环形图进行倒计时的核心原理是:环形图把时间按照已经发生和未发生时间进行划分,卡片图显示剩余时间,Play Axis视觉对象产生倒放效果。

这种倒计时方式需要准备一个时间表,具体到一天的每一秒,总计86400行。时间表可Power Query或者DAX直接生成。生成方式参考采总这篇文章:在Power BI中制作时间表的两种方式

这里要对时间表准备一个倒序的索引(可Power Query的索引功能或者DAX的RankX生成),以便Play Axis进行时间播放,Play Axis的字段为该倒序字段。

使用Countrows加条件的方式将截止当前的播放进度时间分割为两半(参考往期文章累计求和的方式,上方采总的文章也有提示),两个时间都放入环形图的值区域。

数据颜色分别设置为黄色和灰色:

环形的内半径进行调整使得环形看上去细一些:

中间的倒计时卡片图需要设一个专用度量值,当开始计时时,卡片显示计时的时间;当尚未开始计时时,卡片要比最大的计时范围多一秒。

代码语言:javascript复制
显示时间 = SELECTEDVALUE('时间表'[时间],MAX('时间表'[时间]) TIME(0,0,1))

为什么要多一秒?这是因为时间表是从0开始的,到0:00:09实际上已经过去了10行。

最后一个问题,如何自由设置倒计时总时长?将小时、分钟和秒字段放入页面筛选器,进行高级筛选即可。下图示例为5分钟计时。

这个倒计时方法已基本能够满足使用需求。

另外一种方式是利用DAX SVG图片的动画功能进行倒计时。这种方式不需要外部数据源,界面可以自由设计,运行也更为流畅,下图是个例子:

生成一个SVG度量值,将度量值放入HTML Content视觉对象,输入需要计时的时长,回车即可开始计时。

制作原理参考视频课程以下章节:

https://t.zsxq.com/MrzRjie

直线 https://t.zsxq.com/7QBMnUj

跑马灯 https://t.zsxq.com/6iiEIyr

0 人点赞