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_Waffle([M.业绩达成率],IF([M.业绩达成率]<0.5,"Brown","green"))

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

搜索“华夫饼”,鼠标右键复制代码:

确保Power BI Desktop是2025年9月的版本,如果不是,安装包地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=58494
打开文件-选项和设置-选项-预览功能,勾选“DAX用户自定义函数”:

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

新建度量值,引用华夫饼函数:
SVG.华夫饼 =SVG_Waffle([M.业绩达成率],"deepskyblue")
第一个参数为百分比度量值,第二个参数为华夫饼颜色(可以条件变化)。
如果是按钮切片器使用,把以上度量值放入图像区域:

如果是表格矩阵使用,标记为图像URL放入列值:

也可以放入条件格式图标:

如果是新卡片图视觉对象使用,图像区域选择URL:
