Power BI模拟苹果发布会滚动照片墙

2021-09-27 10:54:45 浏览数 (1)

日前,苹果公司举办了2021秋季产品发布会。不知道你认为十三香不香,我反正准备让手上的6s继续服役。发布会上有个酷炫的滚动照片墙,其实Power BI也能做。

版本可以多种多样,下图是间隔滚动版:

双向滚动版:

变速版:

无限循环版:

实现原理是照片批量嵌入SVG,利用SVG的动画标签按照DAX指定的路径运动。

准备好照片数据,为每个类别建立索引(本例有四个类别,即照片显示四行),每个类别下的每张照片建立子索引。

以双向滚动版为例,新建度量值:

代码语言:javascript复制
滚动照片墙双向版 = 
VAR SVG_Table=ADDCOLUMNS('照片', "Image标签",
"<image xlink:href='"&[URL]&"' x='"&([子索引]-1)*100 &"' y='"&([索引]-1)*100 &"' height='100' weight='100'>
<animate attributeName='x' by='"&IF(MOD([索引],2)<>0,800,-800)&"' begin='0s' dur='10s' repeatCount='indefinite'/>
</image>")
Return
"<svg xmlns='http://www.w3.org/2000/svg' height='400' width='800'>"&
    CONCATENATEX(SVG_Table,[Image标签])&"
</svg>"

解释说明如下:

将度量值拖动到Html Content这个图表即可实现动画中的滚动效果。

对于间隔滚动,只需要将by后面的if函数-800改为0;每行滚动速度不同可以将dur中的固定秒数按行单独设置;没有留白无限循环的模式读者可以想下怎么解决,想到可以留言。

这种滚动效果绝不仅仅是用来娱乐,将一些业务指标做成卡片,放在大屏滚动效果也会不错。

svg

0 人点赞