Power BI Pie Chart定制:实现已选费用项占总费用的占比展示
嘿,这个需求完全可以实现,我来给你一步步拆解怎么做,亲测有效👇
步骤1:先建一个费用项维度表
你现在的A、B、C、D都是独立的Measure,没有对应的维度列,饼图没法直接识别这些项,所以第一步得补个静态维度表:
- 点击顶部建模选项卡 → 选输入数据
- 表名设为
Expense Items,列名填Item,然后依次输入"A"、"B"、"C"、"D",点确定就行。
步骤2:写核心的动态金额计算Measure
创建一个名为Expense Amount (with Other)的Measure,代码如下:
Expense Amount (with Other) = // 获取当前筛选器选中的所有费用项 VAR SelectedItems = VALUES('Expense Items'[Item]) // 计算未被选中的费用项总金额 VAR OtherTotal = CALCULATE( [Total Expenses], ALL('Expense Items'[Item]), NOT('Expense Items'[Item] IN SelectedItems) ) // 判断当前项是选中项还是Other,返回对应金额 RETURN SWITCH( TRUE(), // 选中项返回对应Measure的值 SELECTEDVALUE('Expense Items'[Item]) IN SelectedItems, SWITCH( SELECTEDVALUE('Expense Items'[Item]), "A", [A], "B", [B], "C", [C], "D", [D] ), // Other项返回未选中总和 SELECTEDVALUE('Expense Items'[Item]) = "Other", OtherTotal, 0 )
步骤3:配置饼图并添加Other项
- 插入饼图,把
Expense Items[Item]拖到图例字段,Expense Amount (with Other)拖到值字段。 - 手动加"Other"到图例:点击图例字段的下拉箭头 → 编辑筛选器 → 在包含里,除了已有的A/B/C/D,点击添加项,手动输入"Other"并勾选它。
- 现在测试一下:选中A、B、D时,C的25会自动归入Other;取消选中A后,A和C的50会合并到Other里,完全符合你的需求~
可选:直接显示百分比
如果想让饼图显示占比而非金额,再建个Measure:
Expense Percentage = DIVIDE( [Expense Amount (with Other)], [Total Expenses], 0 )
把这个拖到值字段,然后设置格式为百分比就搞定了。
原理小说明
核心就是用维度表给每个费用项一个“身份”,通过DAX判断哪些项被选中,把未选中的金额打包成Other。这样饼图就能动态响应筛选,自动调整分组啦。
内容的提问来源于stack exchange,提问作者SUMguy
相关产品推荐
相关产品推荐

