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 HTML_Rounded_Bar =
(ColumnForBar:anyref,MeasureForBar:numeric expr,Color:string,sides:numeric)=>
VAR n = SWITCH(sides,1,0,2,20,20)
RETURN
"<p style='font-size: 20px;background: " & Color & ";width: " & MeasureForBar / MAXX(ALLSELECTED(ColumnForBar),MeasureForBar) * 100 & "%; border-radius: " & n & "px 20px 20px " & n & "px;white-space: nowrap;'>" & SELECTEDVALUE(ColumnForBar) &" " &FORMAT(MeasureForBar,"#,#") & "<p>"确保Power BI Desktop是2025年9月的版本,如果不是,安装包地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=58494
打开文件-选项和设置-选项-预览功能,勾选“DAX用户自定义函数”:

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

新建度量值,引用条形图函数:
度量值 =HTML_Rounded_Bar(
'店铺资料'[城市],
[M.销售业绩],
"lightgrey",
1)
第一个参数为维度列,第二个参数为指标,第三个参数为条形图颜色(支持英文颜色名称和RGB),第四个参数填1或2(1为单侧圆角,2为双侧圆角)。
将度量值放入HTML Content视觉对象显示:
