前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Power BI 一行度量值绘制条形图

Power BI 一行度量值绘制条形图

作者头像
wujunmin
发布2025-02-10 16:53:31
发布2025-02-10 16:53:31
3300
代码可运行
举报
文章被收录于专栏:wujunminwujunmin
运行总次数:0
代码可运行

我这两年一直鼓吹DAX驱动可视化,有些人觉得实施有点繁琐,那么今天请大家欣赏一个简单到极致的作品:一行度量值绘制条形图

新建一个度量值:

代码语言:javascript
代码运行次数:0
复制
M.P.条形图原型 = "<p style='background: tomato;width: 100%;'>wujunmin<p>"

以上是HTML 文本的一个基础写法,把度量值放入HTML Content视觉对象,得到:

度量值指定了文本的宽度和背景色,所以只需要改变宽度(width)值,既可以实现类似条形图的效果:

现在进入真实的场景,文本的背景色宽度按数据大小自动变化,文本的内容为维度名称。

代码语言:javascript
代码运行次数:0
复制
M.P.条形图 = "<p style='font-size: 20px;background: deepskyblue;width: " & [M.销售业绩] / MAXX(ALLSELECTED('店铺资料'[城市]),[M.销售业绩]) * 100 & "%; white-space: nowrap;'>" & SELECTEDVALUE('店铺资料'[城市]) &" " &FORMAT([M.销售业绩],"#,#") & "<p>"

在HTML Content视觉对象拖入上方的度量值和维度:

得到:

以上一行度量值实现了维度标签内嵌的条形图(只支持正数,负数需要写更多逻辑)。如果仅仅是这样的效果,内置条形图也很容易实现,这里使用DAX的好处是可以各种加细节。

现在加一个圆角参数border-radius:

代码语言:javascript
代码运行次数:0
复制
M.P.条形图2 = "<p style='font-size: 20px;background: deepskyblue;width: " & [M.销售业绩] / MAXX(ALLSELECTED('店铺资料'[城市]),[M.销售业绩]) * 100 & "%; border-radius: 8px;white-space: nowrap;'>" & SELECTEDVALUE('店铺资料'[城市]) &" " &FORMAT([M.销售业绩],"#,#") & "<p>"

得到:

圆角参数的四个角弧度可以不一致,度量值变为:

代码语言:javascript
代码运行次数:0
复制
M.P.条形图3 = "<p style='font-size: 20px;background: deepskyblue;width: " & [M.销售业绩] / MAXX(ALLSELECTED('店铺资料'[城市]),[M.销售业绩]) * 100 & "%; border-radius: 0px 20px 20px 0px;white-space: nowrap;'>" & SELECTEDVALUE('店铺资料'[城市]) &" " &FORMAT([M.销售业绩],"#,#") & "<p>"

得到:

本文是个引子,后续还有更多有趣玩法,敬请期待。还是那句:学一点前端代码有助于Power BI/Excel图表设计

DAX结合HTML P的其他文章:

Power BI DAX 实现文本换行的四个方法

Power BI 长文本局部高亮条件格式

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档