如何在Power BI中基于数据计算值绘制次轴百分比折线图?
在Power BI中计算债务信用比例并绘制次Y轴折线图
原始数据整理
先把你提供的原始数据转成更易读的Markdown表格:
| S.No | Category | Terms | Location | Value |
|---|---|---|---|---|
| 1 | Economic Times | Basic Debt | India | 215000 |
| 2 | Economic Times | Basic Credit | India | 150000 |
| 3 | TOI | Basic Credit | India | 35617 |
| 3 | TOI | Basic Debt | India | 85877 |
| 4 | Mint Today | Basic Surplus | India | 176500 |
| 5 | Mint Today | Basic Debt | India | 387200 |
| 6 | Mint Today | Basic Credit | India | 215900 |
| 7 | BBC | Basic Surplus | India | 18775 |
| 8 | BBC | Basic Debt | India | 195000 |
| 9 | BBC | Basic Credit | India | 174220 |
方法一:使用DAX度量值直接计算
这种方法无需修改原始数据结构,直接在报表中计算比例:
- 在「数据」视图下,选中你的数据表,点击「新建度量值」
- 输入以下DAX公式(替换
'你的表名'为实际表名):
债务信用比例 = DIVIDE( CALCULATE(SUM('你的表名'[Value]), '你的表名'[Terms] = "Basic Debt"), CALCULATE(SUM('你的表名'[Value]), '你的表名'[Terms] = "Basic Credit"), 0 // 分母为0时返回0,可按需调整 ) * 100
DIVIDE函数可避免除以0的错误,第三个参数是错误时的默认值- 逻辑:分别筛选每个Category的Basic Debt和Basic Credit总和,计算比例并转为百分比
- 切换到「报表」视图,插入折线图:
- 将
Category字段拖到「X轴」 - 将刚创建的「债务信用比例」拖到「Y轴」
- 在可视化面板的「格式」选项卡中,找到「Y轴」设置,勾选「次坐标轴」
- 调整折线样式、数据标签(设置为百分比格式)等优化显示效果
- 将
方法二:用Power Query预处理数据
如果希望在数据源层面生成比例列,可使用Power Query:
- 进入Power Query编辑器:点击「转换数据」
- 选中
Category和Location列(按住Ctrl多选),点击「转换」选项卡中的「透视列」- 弹出窗口中,「值列」选
Value,「列名」选Terms,点击确定 - 数据表会生成
Basic Debt、Basic Credit、Basic Surplus三个独立列
- 弹出窗口中,「值列」选
- 点击「添加列」选项卡,选择「自定义列」,输入公式:
= ([Basic Debt] / [Basic Credit]) * 100
- 给自定义列命名为「债务信用比例」
- 点击「关闭并应用」返回报表视图
- 插入折线图,将
Category拖到X轴,「债务信用比例」拖到Y轴并设置为次坐标轴,调整格式即可
内容的提问来源于stack exchange,提问作者Manz
相关产品推荐
相关产品推荐

