前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Power BI 内置视觉对象实现蛇形S形时间轴图表

Power BI 内置视觉对象实现蛇形S形时间轴图表

作者头像
wujunmin
发布于 2025-05-27 01:40:38
发布于 2025-05-27 01:40:38
6900
代码可运行
举报
文章被收录于专栏:wujunminwujunmin
运行总次数:0
代码可运行

效果如下:

以上使用内置按钮切片器视觉对象实现。将日期字段放入按钮切片器,选择网格布局,可以看到每一行都是从小到大的日期顺序,而上图的偶数行是逆序的,从而形成S形结构。

所以要对默认的排序规则进行调整,假设每行显示四列,新建排序度量值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
M.DateIndex = 
VAR _Columns = 4 --定义显示多少列
VAR DateRank =
    ROWNUMBER ( ALLSELECTED ( '日期表'[Date] ), ORDERBY ( [Date], ASC ) )
VAR GroupNumber =
    INT ( ( DateRank - 1 ) / _Columns )
VAR PositionInGroup =
    MOD ( DateRank - 1, _Columns ) + 1
RETURN
    IF (
        MOD ( GroupNumber, 2 ) = 1,
        GroupNumber * _Columns + ( _Columns - PositionInGroup + 1 ),
        GroupNumber * _Columns + PositionInGroup
    )

放入表格可以看到第二行实现了逆序排序:

把排序度量值放入按钮切片器的工具提示,并按工具提示字段排序,可以看到日期顺序顺利变为S形。

接着添加圆点和虚线装饰,新建以下SVG度量值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SVG.S.4 = 
VAR _Columns = 4 --定义显示多少列
VAR _Rows =
    ROUNDUP ( COUNTROWS ( ALLSELECTED ( '日期表'[Date] ) ) / _Columns, 0 )
VAR DateRank =
    ROWNUMBER ( ALLSELECTED ( '日期表'[Date] ), ORDERBY ( [Date], ASC ) )
VAR PositionInGroup =
    MOD ( DateRank - 1, _Columns ) + 1
VAR GroupNumber =
    INT ( ( DateRank - 1 ) / _Columns )
VAR _PathY =
    SWITCH (
        TRUE (),
        GroupNumber < _Rows - 1
            && PositionInGroup = _Columns, "M100 15 100 30",
        GroupNumber > 0
            && PositionInGroup = 1, "M100 15 100 0"
    )
VAR _PathX =
    SWITCH (
        PositionInGroup,
        1, IF ( MOD ( GroupNumber, 2 ) = 0, "M100 15L200 15", "M0 15L100 15" ),
        _Columns, IF ( MOD ( GroupNumber, 2 ) = 0, "M100 15L0 15", "M100 15L200 15" ),
        "M0 15L200 15"
    )
RETURN
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' id='wujunmin' width='200' height='30'>
    <path d='" & _PathX & _PathY & "' stroke='lightgrey' stroke-width='1' stroke-dasharray='2' fill='none'/>
    <rect rx='2.5' x='97.5' y='12.5' height='5' width='5'  fill='deepskyblue'/>
    <!--公众号:wujunmin-->
</svg>"

度量值放入按钮切片器的图像区域,匹配度完全填充:

适当调整日期标签位置,即得到:

显示多少列可以按需调整,调整时排序度量值、SVG度量值、图表布局的列数需要一致。

借助《Power BI 内置视觉对象实现高级交互》的技巧,当日期选中时,可以调整圆点颜色:

需注意本方案的计算逻辑要求每一行日期个数相等。配套pbix文件在下方知识星球分享。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 wujunmin 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Power BI制作时间轴式卡片图
Power BI 新卡片图视觉对象去年新增了小型序列图参数,借助此参数,我们可以进行如下的时间轴卡片设计:
wujunmin
2025/02/10
1300
Power BI制作时间轴式卡片图
Power BI 矩阵多门店销售库存Top款对比
其中,排名可能有重复值,如一个格子只展示一个产品,排名时使用ROWNUMBER函数去重:
wujunmin
2024/01/09
2820
Power BI 矩阵多门店销售库存Top款对比
Power BI 卡片图趋势与过程指标组合
来源:https://seantheme.com/color-admin/admin/html/index_v3.html
wujunmin
2023/12/28
4720
Power BI 卡片图趋势与过程指标组合
Power BI 标签倾斜式卡片图
主流的卡片图标签横平竖直,视觉疲劳。借助SVG,我们可以使用DAX绘制图表,轻松实现倾斜样式的卡片图,下图的左侧和右侧对城市标签进行了倾斜:
wujunmin
2025/02/10
1060
Power BI 标签倾斜式卡片图
Power BI 模拟智能锁事件轴
最大的特点是左侧有一条时间线,线条上方带有一个圆点。Power BI使用表格条件格式图标可以轻松模拟。以下是模拟效果:
wujunmin
2025/02/10
660
Power BI 模拟智能锁事件轴
Power BI同期对比这么看
同期对比常规状态下可以使用簇状条形图/柱形图,以下是Power BI内置图表的效果。
wujunmin
2022/05/19
1.6K0
Power BI同期对比这么看
Power BI 模拟B站字帖式关键词
B站后台统计数据有这样的一个卡片,文字有字帖式米字格背景。Power BI使用度量值结合SVG也可以轻松制作。
wujunmin
2025/02/19
450
Power BI 模拟B站字帖式关键词
Power BI模拟小米运动APP三环效果
小米运动APP有个图表使用三个半圆展示了三个健康相关的指标,如下图所示。从外到内分别是卡路里、步数和活动分钟数实际值与目标值的对比。
wujunmin
2022/12/13
4630
Power BI模拟小米运动APP三环效果
Power BI 环形图条形图组合
度量值中的前五个var换成你模型中的数据即可复用。把度量值扔给DeepSeek可以随意修改样式:
wujunmin
2025/04/10
1020
Power BI 环形图条形图组合
Power BI 折线图自定义特殊标注
本号已经使用DAX+ SVG在Power BI自定义了几十种实用的图表,但是一直没有涉及折线图。原因有二:
wujunmin
2022/04/06
1.3K0
Power BI 折线图自定义特殊标注
Power BI 制作巴黎奥运会中国队获得奖牌时间轴
图片来源:https://m.sports.qq.com/sports-event/pc-medal-rank.htm?competitionId=180000
wujunmin
2025/02/10
580
Power BI 制作巴黎奥运会中国队获得奖牌时间轴
Power BI 宇宙系列之太阳系篇
上文《Power BI 宇宙系列之土星篇》介绍了对土星环的可视化模拟,本节放眼到整个太阳系。
wujunmin
2023/12/28
2140
Power BI 宇宙系列之太阳系篇
Power BI 3D丝带卡片图
上一节分享了《Power BI 丝带式排名卡片图》,今天继续丝带卡片的话题,样式是全包裹式。如果用在新卡片图视觉对象,表现为指标名称在丝带上,数据在卡片主体上。
wujunmin
2025/02/10
960
Power BI 3D丝带卡片图
基于DeepSeek的Power BI可视化优化:释放图表资源新潜能
这个世界上有无数的图表代码,也许是HTML、Python、R、Vega等实现,借助AI现在已经可以方便地将效果迁移到Power BI。
wujunmin
2025/03/06
1740
基于DeepSeek的Power BI可视化优化:释放图表资源新潜能
Power BI如何在表格生成纵向折线图?
在表格中,每一行独立存在,上一行的内容和下一行没有交集,中间有一根看不见的线把每一行隔离开来。
wujunmin
2022/12/13
3.1K0
Power BI如何在表格生成纵向折线图?
Power BI 时间轴可视化
最近看到采总、罗简单老师有分享时间轴可视化,我也来凑个热闹,分享一个朴素的版本。下图是Power BI学习十年路径。表面上看这是一个时间轴,实际上它是条形图。
wujunmin
2023/11/07
5270
Power BI 时间轴可视化
Power BI 图表跨界应用:从股市到零售业
一些财经网站有个股价格变化分布图,下图展示了52周的最高价、最低价以及当前价格(蓝色标识)。
wujunmin
2025/02/10
520
Power BI 图表跨界应用:从股市到零售业
Power BI窗口函数应用于图表设计
Power BI于2022年12月推出的窗口函数极大简化了使用SVG矢量图自定义图表的过程。OFFSET、INDEX和WINDOW函数对设计连续型图表有重大意义。(不了解窗口函数参考采总此文:Power BI本月正式推出的DAX新函数:OFFSET、INDEX、WINDOW)
wujunmin
2023/02/28
1.9K0
Power BI窗口函数应用于图表设计
Power BI 图表空心化
本公众号已经分享了超过百种DAX+SVG自定义的图表,本文介绍如何将自定义图表空心化。所谓空心图表是指没有填充颜色,仅有边框颜色的图表。下图展示了条形图的空心效果:
wujunmin
2022/12/13
1.1K0
Power BI 图表空心化
Power BI 模拟VisActor子弹进度图
之前介绍过VisActor可视化库,本文开始第一个模仿:子弹图,效果如下图所示,条形为实际值,红色的图标像一个图钉,为目标值:
wujunmin
2024/01/24
2390
Power BI 模拟VisActor子弹进度图
相关推荐
Power BI制作时间轴式卡片图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验