惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
D
Docker
J
Java Code Geeks
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
腾讯CDC
罗磊的独立博客
U
Unit 42
爱范儿
爱范儿
Vercel News
Vercel News
MyScale Blog
MyScale Blog

博客园 - 哥本哈士奇(aspnetx)

dbt+SQLServer构建数据仓库(13):运维 FAQ 篇 dbt+SQLServer构建数据仓库(12):进阶 FAQ 篇 dbt+SQLServer构建数据仓库(11):FAQ 篇 dbt+SQLServer构建数据仓库(10):macro 以及 data vault的应用实例 dbt+SQLServer构建数据仓库(9):用Vibe Coding创建一个DBT UI dbt+SQLServer构建数据仓库(8):Vibe Coding用dbt构建data vault数仓 dbt+SQLServer构建数据仓库(7):进阶扩展 dbt+SQLServer构建数据仓库(6):Jinja与DAG实战 dbt+SQLServer构建数据仓库(5):数据测试 dbt+SQLServer构建数据仓库(4):分层建模实战 dbt+SQLServer构建数据仓库(3):dbt_project.yml配置精讲 dbt+SQLServer构建数据仓库(2):与传统方案对比及迁移决策 dbt+SQLServer构建数据仓库(1):认识dbt与项目工作流程 SQL Server 索引知识汇总 医疗器械行业 Salesforce Territory 完整落地实例 Raw Data Vault vs Business Data Vault Neo4j 多跳查询实战:从社交网络场景理解图遍历 Git 本地版本管理学习笔记 看完《低智商犯罪》,学习Cypher构建知识图谱 LangChain DeepAgents 学习笔记 LangChain Deepagent 版本0.6.1中间件一个bug Neo4j笔记(五):查询的处理流程 微软 SQL Server 版本演进史:从诞生到 SQL Server 2025 提升 Text2SQL 准确率 SQLServer Management Studio(SSMS) 22 Copilot 最佳实践学习笔记 SQLServer RAG笔记4:从服务层到前端交互 SQLServer RAG笔记5:为SQLServer 2025配置Ollama SQL Server RAG 笔记3:SQLServer2025 向量数据库 详解传统RAG、Text2SQL、Graph RAG:适用场景与问题示例汇总 SQL Server RAG 笔记2:图数据库服务层与前端可视化构建
Power BI制作指标达成跟踪器
哥本哈士奇(aspnet · 2025-09-10 · via 博客园 - 哥本哈士奇(aspnetx)

Power BI制作指标达成跟踪器

在报告分析中,我们通常会想知道,比如我的一个指标,处于哪个阶段当中。类似的应用场景比如:

  • 销售的达成处于哪个支付区间。
  • 显示成绩的分布,比如60分及格,85分优秀。
  • HR的pay band。
  • 吃鸡或者王者游戏的段位展示。
    这篇随笔测试的场景是销售的达成区间展示。

效果演示

首先来看一下简单的演示效果。
img
在这个报告中,根据销量和指标的绩效,显示绩效是在哪一个支付区间。
在这个案例中,从达成率到支付系数存在一个映射,但其是一个区间函数,而不是一个线性的区间。每个区间的增长系数(函数)不一样。
通过这个图表可以直观的看到当前达成具体落在了哪一个支付区间。
在这个报告中,首先通过一个堆积条形图,可以看到支付区间的分布,然后通过一个竖线标记当前达成属于哪一个区间。
其次通过达成率和支付系数的折线图,可以看到当前达成率在具体的哪一个区间分布。

数据背景

作为一个销售人员,他需要知道自己目前的达成率是多少,以及这个达成率处于哪一段支付系数区间,这样他就可以时刻的知道自己目前的绩效如何,以及达到下一段支付区间还有多大的距离。
其中,达成率的计算是通过销量/指标,为了激励绩效,对应的支付系数如下:

  • 支付系数根据绩效采用不同的加速区间。
  • 达成率低于50%没有奖金。
  • 达成率为100%时支付系数为1.
  • 支付系数封顶2.6

具体区间如下:
img

测试数据准备

绩效曲线

这里根据以下规则生成支付曲线:

  • 达成低于50%,支付系数为1.
  • 达成为50%,支付系数为0.3,达成在50%-80%之间,加速系数为0.01
  • 达成为80%,支付系数为0.6,达成在80%-100%之间,加速系数为0.02
  • 成为100%,支付系数为1,达成在100%-130%之间,加速系数为0.025
  • 达成为130%,支付系数为1.75,达成在130%-160%之间,加速系数为0.015
  • 成为160%,支付系数为2.2,达成在160%-200%之间,加速系数为0.01
  • 达成为200%,支付系数为2.6,之后的达成率,支付系数都封顶于此。
    根据这些规则,在Excel里创建相应的数据。在示例文件中的PayRato里。

整理曲线数据

在Power BI里需要用到堆积条形图来显示支付区间,所以这里需要对绩效曲线的数据进行整理。
从上面构建的支付曲线来看,拐点是在50%,80%,100%,130%,160%,200%。由于是堆积图,所以不能直接把这些数据放在表里,否则显示会重复。
这里需要做一个手动计算,也就是把后续的数据的增量算出来。最后的结果如下:
img

AI生成测试数据

为了演示或者测试方便,这里用AI生成测试数据。

你是一个数据生成机器,帮我生成100条测试数据,数据列包括,姓名,销量,指标,绩效。姓名列随机生成,指标统一为20000,绩效分布,50%以内10人,50%-100%之间30人,100%-150%之间30人,150%-200%之间20人,200%-300%之间10人。销量根据指标和绩效计算出来。

以上提示词放在任何一AI大模型里都可以,比如豆包,deepseek等。这里我用的是豆包,跟博客园首页上面推荐的TRAE都是一家公司的产品,都很好用。
最后,把生成的数据copy到Excel里备用。至此演示和测试数据生成完毕。在这篇随笔的末尾你可以下载到我生成的测试数据。

导入数据

打开Power BI,导入Excel数据,设置相应的数据格式。
需要注意,不需要对三张表建立任何关系。
这个场景跟以往的不太一样,以往的场景需要把事实表和维度表都连接在一起,报告才可以进行相应的交互。但在这个场景下,绩效的跟踪数据属于额外的配置数据,所以不需要建立连接。
img

报告制作

报告用圆角矩形打底,顶端用一个筛选去选择不同的姓名,接下来用新卡片显示销量,指标和绩效。
然后插入堆积条形图,将PayGroupChart里的所有列依次放入X轴。
img
在进一步分析标签下,展开恒定线,添加行,在值部分点击公式,
img
然后将直线设置成实线,颜色为黑色。
最后移除所有标题,图例,让图表只显示图标实体。
接下来插入一个折线图,用折线的方式显示绩效处于哪个区间。
将Pay Rate放入Y轴,Performance放入X轴。
最后跟堆积条形图一样,设置恒定线。
至此图表搭建完成。

后记

本文相应文件的下载:
访问百度网盘
提取码:3618

这种展现方式适合进度的追踪,比如:

  • 显示成绩的分布,比如60分及格,85分优秀。
  • HR的pay band。
  • 吃鸡或者王者游戏的段位展示。

BTW:关于如何做行级权限控制不在本文讨论,当然在这个场景在实际应用中,是必要的。

以上学习笔记来自B站的HowToPowerBI,他的讲解视频都很棒,虽然没有字幕,但听上去不会有太多的压力。
视频地址:
https://b23.tv/jK4iJ6y

这个视频也演示了如何构建页面的主题,让报告看上去会更专业一些。国内也有很多人对此有讲解,如果你想顺便锻炼下英语听力的话,推荐学习这个视频。