这个世界上有无数的图表代码,也许是HTML、Python、R、Vega等实现,借助AI现在已经可以方便地将效果迁移到Power BI。
Power BI世界自己也有很多可视化资源。比如我的公众号分享了大量SVG、HTML图表(知识星球分享的更多更深入),其他博主也有分享,前期推荐过《Power BI Deneb图表资源库》和《Štěpán Rešl 分享的一组Power BI SVG图表》,本文介绍一个制图思路,利用DeepSeek将这些现有的Power BI 图表资源用深用好。
为什么是DeepSeek?我测试了几大知名AI,发现DeepSeek对DAX的理解最深,如果有读者认为有别的AI更擅长DAX,欢迎留言。DeepSeek官网访问不畅时《两个流畅、稳定、免费的DeepSeek地址推荐》
以DAX+SVG制作的折线图为例(不了解SVG参考Power BI SVG制图入门知识2025版),以下将SVG度量值放入表格,得到一个基础造型。
SVG.折线图.普通 =
VAR XMinDate =
MIN ('数据'[Date] )
VAR XMaxDate =
MAX ('数据'[Date] )
VAR MaxWidth =
500 //图表的宽度
VAR MaxHeight = 300 //图表的高度
VAR Space_X = 10
VAR Space_Y = 10 //图表周边预留一些空间
VAR YMinValue =
MINX ( ALLSELECTED ( '数据'[Date] ), [指标] )
VAR YMaxValue =
MAXX ( ALLSELECTED ( '数据'[Date] ), [指标] )
VAR SVG_Table =
ADDCOLUMNS (
'数据',
"X", MaxWidth
* DIVIDE ( [Date] - XMinDate, XMaxDate - XMinDate ),
"Y",
MaxHeight
* DIVIDE ( [指标] - YMinValue, YMaxValue - YMinValue )
)
RETURN "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='" & - Space_X & " " & - Space_Y & " " & MaxWidth + Space_X * 2 & " " & MaxHeight + Space_Y * 2 & "'>" & "<!--微信公众号、知乎:wujunmin-->" & "<polyline fill='none' stroke='LightGrey' stroke-width='3' points='" & CONCATENATEX ( SVG_Table, [X] & "," & MaxHeight - [Y], " ", [Date] ) & "'/></svg>"
这个折线图平平无奇,如果仅仅是这样的效果,没必要使用SVG,内置折线图视觉对象就行。SVG的好处是可以使用DAX自定义无数的造型,并且可以和表格矩阵的其他数据结合。接下来把这段代码发给DeepSeek,需求修改代码,加上网格等效果:
可以关闭深度思考及联网搜索,很快得到回答,粘贴回Power BI,将新度量值放入表格,得到:
接着,再次提问,请DeepSeek加上渐变填充效果:
渐变不需要了,请换成条纹填充:
请用柱形高亮标出最高值区域:
Štěpán Rešl有分享过一种双折线SVG代码:
我也请DeepSeek修改了下:
以前徒手改代码费神费时,现在有了DeepSeek,分分钟按需修改。绝大多数第三方视觉对象没有使用的必要(个别还是极为优秀的)。
DeepSeek辅助DAX驱动可视化,自由玩耍吧。