PowerBI中按产品维度为零售商营收分配百分位区间的问题
解决PowerBI中按产品维度独立计算营收百分位区间的问题
原度量值的核心问题是百分位计算未按产品维度隔离,导致所有产品的零售商营收被混在一起计算百分位。要实现每个产品内部独立评估零售商的营收区间,需修改百分位计算的上下文范围,确保仅针对当前产品的零售商数据进行计算。
修改后的度量值代码
Percentile Range Measure = VAR CurrentProduct = VALUES(DummyData[Product]) // 获取当前筛选上下文的产品 VAR TotalRev = SUM(DummyData[Revenue]) // 当前零售商在当前产品下的营收 // 按当前产品筛选RevSummaryTable,仅计算该产品下的营收百分位 VAR Percentile90 = PERCENTILEX.INC( CALCULATETABLE(RevSummaryTable, CurrentProduct), [TotalRev], 0.9 ) VAR Percentile75 = PERCENTILEX.INC( CALCULATETABLE(RevSummaryTable, CurrentProduct), [TotalRev], 0.75 ) VAR Percentile50 = PERCENTILEX.INC( CALCULATETABLE(RevSummaryTable, CurrentProduct), [TotalRev], 0.5 ) VAR Percentile10 = PERCENTILEX.INC( CALCULATETABLE(RevSummaryTable, CurrentProduct), [TotalRev], 0.1 ) RETURN IF(TotalRev >= Percentile90, "90th Percentile", IF(TotalRev >= Percentile75, "75th Percentile", IF(TotalRev >= Percentile50, "Middle Range", IF(TotalRev >= Percentile10, "10th Percentile", "Bottom Percentile")))
关键修改说明
- 新增
CurrentProduct变量:通过VALUES(DummyData[Product])捕获当前表格视觉对象中选中的产品,确保后续计算仅针对该产品的数据。 - 调整百分位计算的数据源:在
PERCENTILEX.INC的第一个参数中,使用CALCULATETABLE(RevSummaryTable, CurrentProduct)筛选出当前产品对应的零售商营收数据,实现产品维度的隔离计算。
使用验证
将修改后的度量值添加到表格视觉对象中,搭配Product(产品)和Retailer(零售商)字段,即可看到每个产品内部,零售商的营收被独立分配到对应的百分位区间(如iPhone品类中营收最高的Staples对应"90th Percentile",最低的ATT对应"10th Percentile")。
内容的提问来源于stack exchange,提问作者Allen Braun
相关产品推荐
相关产品推荐

