Power BI技术求助:将Margin Bucket度量值用作可视化分类维度
解决Power BI中Margin Bucket作为维度的问题
1. 创建独立的Margin区间表
先建一个和任何事实表无关联的计算表,明确百分比区间划分:
Margin Buckets = DATATABLE ( "Bucket Name", STRING, "Min %", DOUBLE, "Max %", DOUBLE, { {"<10%", 0, 0.1}, {"10%-20%", 0.1, 0.2}, {"20%-30%", 0.2, 0.3}, {"30%-40%", 0.3, 0.4}, {">40%", 0.4, 1} } )
注意:这个表不要和你的收入表建立任何关系。
2. 编写准确的% of Revenue度量值
计算每个分组占总收入的百分比:
% of Revenue = VAR TotalRevenue = CALCULATE(SUM('你的收入表'[Revenue]), ALL('你的收入表')) RETURN DIVIDE(SUM('你的收入表'[Revenue]), TotalRevenue, 0)
把'你的收入表'替换成你实际的表名。
3. 编写区间匹配的聚合度量值
用来计算每个区间对应的收入总和(或其他你需要的聚合值):
Revenue by Bucket = CALCULATE( SUM('你的收入表'[Revenue]), FILTER( ALL('你的收入表'[分组列]), // 替换成你用来分组的列,比如产品、区域 [% of Revenue] >= MIN('Margin Buckets'[Min %]) && [% of Revenue] < MAX('Margin Buckets'[Max %]) ) )
4. 在可视化组件中使用
- 簇状柱形图:把
Margin Buckets[Bucket Name]拖到X轴,Revenue by Bucket拖到Y轴,还可以添加图例(比如区域、产品类别) - 矩阵:把
Margin Buckets[Bucket Name]拖到列区域,行区域放其他维度(比如产品),值区域放Revenue by Bucket或% of Revenue
关键提示
- 别用SelectedValue关联区间,它依赖上下文筛选,独立区间表能保证所有区间都显示,哪怕对应区间没有数据
- 如果需要显示每个区间占总收入的比例,可再加一个度量值:
% of Total by Bucket = DIVIDE([Revenue by Bucket], CALCULATE(SUM('你的收入表'[Revenue]), ALL()), 0)
内容的提问来源于stack exchange,提问作者sarvani
相关产品推荐
相关产品推荐

