Power BI 2025年9月推出了DAX UDF(user-defined functions)用户自定义函数,定义一次计算,可在任何地方重复使用。参考文档:
https://learn.microsoft.com/zh-cn/power-bi/transform-model/desktop-user-defined-functions-overview
这种重复使用可以是DAX驱动的图表(结合SVG/HTML),我会把前期分享的很多图表样式进行函数式封装,方便用户在不了解SVG/HTML的情况下也可以自定义图表效果。
今天分享居中条形图函数。下图效果仅使用一个简单度量值生成:

如何在你的模型应用?
首先,找到SVG_Bar的函数代码,打开
https://junminwu.github.io/
选择SVG专题中的图表函数:

搜索“条形图”,鼠标右键复制代码:

也可以直接以下复制:
DEFINE
FUNCTION SVG_Bar =
(ColumnForBar:anyref,MeasureForBar:numeric expr,Color:string)=>
VAR MaxValue = MAXX(ALLSELECTED(ColumnForBar), MeasureForBar)
VAR Width = 280 * MeasureForBar / MaxValue
RETURN
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' id='wujunmin' width='300' height='36' >
<rect rx='2' x='10' y='16' width='280' height='4' fill='#f0f0f0'/>
<rect rx='2' x='"& (300-Width)/2 & "' y='12' width='" & Width & "' height='12'
fill='" & Color & "' stroke='none'/>
<text x='150' y='10' text-anchor='middle' font-size='11' fill='#333333'>
" & FORMAT(MeasureForBar,"#,##") & "
</text>
</svg>"确保Power BI Desktop是2025年9月的版本,如果不是,安装包地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=58494
打开文件-选项和设置-选项-预览功能,勾选“DAX用户自定义函数”:

切换到DAX查询视图,粘贴代码,点击右上角的使用更改更新模型即生效。

新建度量值,引用条形图函数:
度量值 =SVG_Bar('店铺资料'[店铺名称],[M.销售业绩],"Brown")
第一个参数为维度列,第二个参数为指标,第三个参数为条形图颜色(支持英文颜色名称和RGB)。
将度量值标记为图像URL放入表格列即可正常显示:

最佳显示图像大小设置为:
