5星秘籍!Power BI快度量值一键生成KPI评分,老板狂赞的可视化报告竟这么简单?
Power BI财销一体分析——KPI分析应用实践
欢迎来到Powerbi小课堂,前几期课程我们深入学习了各种财务、销售实用案例。
本期我将带领大家整合分散知识点,逐步构建一个全面的分析模型,涵盖封面、登录页、导航页、CEO驾驶舱等模块,以及趋势、产品、畅销品等多维度分析,同时融入度量值嵌套、计算组、动态指标、TOPN分析等高阶技巧。
今天我将为大家带来经销商KPI分析应用实践,通过系统化的KPI分析,能将抽象目标转化为可执行的策略,最终驱动业务增长,今日学习最大的亮点是星级评分实现,可应用于多种场景。
接下来,让我们直接进入今天的实用技巧分享环节。如果您在实践过程中遇到任何问题,欢迎留言交流。请关注我们的公众号《BI研究所》,以获取更多案例更新和学习资源。

想要一份这样的可视化看板吗?想学吗?我教你呀!
一、案例背景:
我司作为专业运动自行车跨国销售企业,业务范围涵盖自行车、组件、配件及运动服装。当前,我们正致力于开发财销一体化分析系统,旨在通过技术手段实现财务与销售的紧密结合,促进数据共享与流程优化,进而提升决策效率与运营效率,优化资源配置,强化风险控制,为企业的可持续发展注入动力。
二、设计思路:
通过成本、销量、利润及销售维度精准掌控财务状况,从产品、客户及地域三个层面深入分析企业运营趋势,
(1)准备基础数据
(2)数据清洗
(3)建立关系视图
(4)个性美化设计
(5)数据建模(度量值)
(6)制作可视化报告
2.5 数据建模
公式:
星级评分 =
VAR __MAX_NUMBER_OF_STARS = 5
VAR __MIN_RATED_VALUE = 0
VAR __MAX_RATED_VALUE = MAXX(ALLSELECTED('经销商'[分销商]), [总销售额])
VAR __BASE_VALUE = [总销售额]
RETURN
IF(
NOT ISBLANK(__BASE_VALUE),
VAR __NORMALIZED_BASE_VALUE =
MIN(
MAX(
DIVIDE(
__BASE_VALUE - __MIN_RATED_VALUE,
__MAX_RATED_VALUE - __MIN_RATED_VALUE
),
0
),
1
)
VAR __STAR_RATING = ROUND(__NORMALIZED_BASE_VALUE * __MAX_NUMBER_OF_STARS, 0)
RETURN
REPT(UNICHAR(9733), __STAR_RATING)
& REPT(UNICHAR(9734), __MAX_NUMBER_OF_STARS - __STAR_RATING),
BLANK() -- 如果 __BASE_VALUE 为空,返回 BLANK()
)
公式逻辑解析:

这个公式其实是不需要我们自己写的,依赖于快度量值功能星级评分,基值选择度量值总销售额,星数选择5,最低星值评分选择0,最高星级评分值选择100,点击添加,星级评分度量值就建立好了,接下来我们理解一下公式。
变量1:最高5星
变量2:评分下限(假设最小销售额为0)
变量3:当前筛选上下文中分销商的最高销售额
变量4:将销售额按比例缩放到0-1范围(线性归一化),如果__BASE_VALUE = __MAX_RATED_VALUE → 结果为1(5星),如果__BASE_VALUE = 0 → 结果为0(0星)
返回结果:
根据__BASE_VALUE(当前行的销售额)是否为空,决定返回星级或空白
如果__BASE_VALUE有值(非空)→ 执行后续计算。
如果为空 → 直接返回BLANK()(避免显示无意义的评分)。
DIVIDE(...):
计算当前值在整体范围内的相对位置,公式为:
标准化值=
最大值−最小值
当前值−最小值
例如:当前值=500,最小值=0,最大值=2000 → (500-0)/(2000-0) = 0.25。
MAX(..., 0):
确保标准化值不低于0(防止负数导致错误)。
如果__BASE_VALUE < __MIN_RATED_VALUE → 强制结果为0。
MIN(..., 1):
确保标准化值不超过1(防止超过最大值导致评分溢出)。
如果__BASE_VALUE > __MAX_RATED_VALUE → 强制结果为1。
为什么需要MIN/MAX双重保险?
防止极端情况(如数据错误或筛选上下文变化)导致计算结果超出预期范围。
将标准化值(0-1)映射到1-5星:
星数=标准化值×5(四舍五入)
示例:
标准化值=0.25 → 0.25 * 5 = 1.25 → 四舍五入后为1星。
标准化值=0.8 → 0.8 * 5 = 4 → 直接为4星。
为什么用ROUND?
避免出现非整数星(如3.7星),确保结果为1/2/3/4/5的整数。
UNICHAR(9733) = ★(实心星)
UNICHAR(9734) = ☆(空心星)
REPT(text, N):将文本重复N次。
拼接逻辑:
先输出__STAR_RATING个★(实心星)。
剩余部分用☆补足,确保总星数为__MAX_NUMBER_OF_STARS(5)。
示例:
__STAR_RATING = 3 → ★★★☆☆
__STAR_RATING = 5 → ★★★★★
空值处理:BLANK()
作用:如果__BASE_VALUE为空,直接返回空白(不显示任何内容)。
必要性:避免在数据缺失时显示无意义的符号(如☆☆☆☆☆)
快度量值(Quick Measure)是一项“智能快捷”功能,它像数据计算小助手一样,帮你用最简单的方式生成常用的统计指标,无需手动写复杂公式。
通俗理解:
假设你有一张销售数据表,老板让你快速算出“每个月的销售额同比增长率”。如果自己写公式,可能需要研究半天,但用快度量值:\1. 选需求:在工具里点“快度量值”,选择“同比增长率”。
\2. 拖字段:告诉它你要比较“今年销售额”和“去年销售额”,按“月份”分组。
\3. 自动生成:工具立刻生成结果,就像帮你写好了现成的计算公式。
类比举例:
就像做菜时用“预制调料包”——你不用自己调配盐糖比例(写公式),直接选“红烧肉调料”(快度量值类型),倒进食材(数据)里就能出结果。核心好处:
✅ 省时间:一键搞定常见计算(如占比、累计、环比等)。
✅ 免学习:不用记DAX公式(类似Excel函数的高级语言)。
✅ 防出错:系统自动处理计算逻辑,避免人工失误。
2.6★制作可视化报告
第一步:设置报表页格式选项,选择画布背景,上传我们设计好的素材
第二步:插入一个矩形,填充颜色,打开阴影、发光功能
第三步:添加主页图标图像,启用交互功能,设置类型为书签,并指定书签为主页,点击该图标即可快速跳转至主页。
第四步:插入图像导航图标。
第五步:插入三个切片器,第一个切片器拖入日期表日期字段,第二个切片器拖入经销商表国家地区字段,第三个切片器拖入指标计算组度量值字段,插入三个文本框分别输入日期、地区、切换指标。分别置于对应切片器前,调整位置到页面顶端,视图窗口点击选择功能,将这种可视化选中,右键点击分组,重命名为切片器组。
第六步:插入三个卡片图,将度量值分销商总量拖入字段中,将分销商表业务类型字段作为筛选条件添加给卡片图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的经销商总量。
第七步:插入三个KPI图,将度量值动态指标字段拖入值区域,日期表年字段拖入走向轴,度量值目标拖入目标中,将分销商表业务类型字段作为筛选条件添加给KPI图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的增减比率。
第八步:插入三个矩阵图,将分销商表中的分销商字段拖入行区域,再将度量值中的总销售额、利润、销量以及星级评分拖入值区域,将分销商表业务类型字段作为筛选条件添加给矩阵图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的分析指标。
第九步:插入三个散点图,行拖入分销商表分销商字段,将度量值中的销量拖入X轴,将利润拖入Y轴,大小拖入度量值总销售额,将分销商表业务类型字段作为筛选条件添加给散点图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的散点分布。
第十步:打开格式窗口,点击编辑交互功能,选择指标切片器,点击可视化上方出现的图标 , 关闭除KPI图之外的所有可视化的筛选器,
第十一步:插入三个文本框分别输入专卖店、增值经销商、仓库。
第十二步:在视图窗口中,点击选择功能以选中同一类型的文本框、卡片图、KPI图、矩阵图和散点图,随后右键点击并选择分组选项,将它们分别命名为专卖店、增值经销商和仓库。
第十三步:参照图示对页面布局进行美化。
第十四步:为此页面添加一个书签,并将其拖动至页面导航的书签分组内,此时,书签将自动显示在书签导航器中。

好的,今天的讲解就到这里。后期课程也会逐渐增加难度,如果在学习过程中需要帮助,欢迎随时联系作者,精彩内容,敬请期待。
获取模板文件或咨询,联系瓶子微信wdfyqx

浙公网安备 33010602011771号