首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Power BI 实现星级打分的三种方式

Power BI 实现星级打分的三种方式

作者头像
wujunmin
发布2025-11-17 17:47:49
发布2025-11-17 17:47:49
980
举报
文章被收录于专栏:wujunminwujunmin

我习惯每次读完书或者看完电影在豆瓣进行打分推荐,如下图红圈所示。豆瓣的评分分为五星,一星表示很差,二星较差,三星还行,四星推荐,五星力荐。

图片
图片

Power BI表格可以直接进行模拟,模拟效果如下图:

图片
图片

准备一份数据源,基础字段是图书名称和推荐指数,推荐指数1代表一星,以此类推。

图片
图片

新建基础度量值图书推荐指数:

代码语言:javascript
复制
图书推荐指数 = SUM('图书列表'[推荐指数])

传统的模拟方式为新建一个图表度量值,使用REPT函数按指定次数重复五角星的出现,并在结尾加上推荐力度。

代码语言:javascript
复制
图表 =
REPT ( "★", [图书推荐指数] )
    & REPT ( "☆", 5 - [图书推荐指数] )
    & SWITCH ( [图书推荐指数], 1, " 很差", 2, " 较差", 3, " 还行", 4, " 推荐", 5, " 力荐" )

将度量值拖入表格,即可得到可视化结果。

图片
图片

另外可以使用动态格式功能,无需新建图表度量值,而是将原显示为1-5的图书推荐指数按照指定格式五角星显示。实现过程为将“图书推荐指数”度量值格式设置为动态,格式的内容为上方图表度量值的内容,只是不加等号。

图片
图片

可以看到两种操作方法显示结果是相同的(颜色可在格式设置区域自行调整)。以上两种方式有个共同缺点:不够精细。例如3.5分能不能第四颗星星显示半个?

遇事不决,SVG。

下图是一个示例,请注意非整数的五角星,非常精确的控制了填充量。

图片
图片

SVG度量值如下:

代码语言:javascript
复制
SVG.得分.五角星 = 
VAR ScoreAct = [得分]
--实际得分
VAR ScoreFul= 5 
--满分多少分
RETURN
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' id='wujunmin' width='240' height='48'><defs><pattern id='wu1' x='0' y='0' width='48' height='48' patternUnits='userSpaceOnUse'>
<path d='M23.9986 5L17.8856 17.4776L4 19.4911L14.0589 29.3251L11.6544 43L23.9986 36.4192L36.3454 43L33.9586 29.3251L44 19.4911L30.1913 17.4776L23.9986 5Z'fill='gold'stroke='gold'stroke-width='2'stroke-linejoin='round'/></pattern></defs><defs><patternid='wu2'x='0'y='0'width='48'height='48'patternUnits='userSpaceOnUse'><pathd='M23.9986 5L17.8856 17.4776L4 19.4911L14.0589 29.3251L11.6544 43L23.9986 36.4192L36.3454 43L33.9586 29.3251L44 19.4911L30.1913 17.4776L23.9986 5Z'fill='none'stroke='gold'stroke-width='2'stroke-linejoin='round'/></pattern></defs><rectx='0'y='0'width='240'height='48'fill='url(#wu2)'/><rectx='0'y='0'width='" & 240 * ScoreAct / ScoreFul  & "'height='48'fill='url(#wu1)'/></svg>"

把度量值中的两个VAR替换为你模型的实际值,标记为图像URL后即可拖入表格矩阵使用。

实际上,造型可以是任意图案。

图片
图片

参考资料:

Power BI SVG制图入门知识2025版

Power BI SVG图表设计:从基础到实战

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

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

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

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

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