我在 Pbi 工作中正在处理一个我/ChatGPT/Co-pilot 无法解决的难题。 我创建了这个虚拟数据集的汇总表来展示我正在尝试做的事情(附图)
我正在尝试在 PowerBI 中创建一个表格视觉对象,其中添加了一个名为“百分比范围”的列,该列根据零售商的产品分配销售百分比范围。
例如,由于 Staples 的 Iphone 销售收入最高,因此该添加列中的值将为“第 90 个百分位”。而 ATT(销售额最低)将输出一个表示“第 10 个百分位数”的值。 我需要为每个单独的产品类型执行此操作(又名 Ipad 销售将有它自己的百分位数范围,因为它与 Iphone 不同) 如果有人可以帮助我弄清楚如何将收入与特定产品隔离,我将不胜感激,谢谢!
这是我到目前为止所尝试的,但这个公式根据所有产品的总收入分配百分位范围。
Percentile Range Measure =
VAR TotalRev = SUM(DummyData[Revenue]) //Sums Revenue of OG dummy data that has spend of individual transactions
//Percentile range based off summary table and column "TotalRev" that is SUM(DummyData[Revenue])
VAR Percentile90 = PERCENTILEX.INC(RevSummaryTable, [TotalRev], 0.9)
VAR Percentile75 = PERCENTILEX.INC(RevSummaryTable, [TotalRev], 0.75)
VAR Percentile50 = PERCENTILEX.INC(RevSummaryTable, [TotalRev], 0.5)
VAR Percentile10 = PERCENTILEX.INC(RevSummaryTable, [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")))
尝试:
Percentile Range Measure =
VAR filteredTable = FILTER('Table','Table'[Product]=EARLIER([Product]))
VAR Percentile90 = PERCENTILEX.INC(filteredTable, [Revenue], 0.9)
VAR Percentile75 = PERCENTILEX.INC(filteredTable, [Revenue], 0.75)
VAR Percentile50 = PERCENTILEX.INC(filteredTable, [Revenue], 0.5)
VAR Percentile10 = PERCENTILEX.INC(filteredTable, [Revenue], 0.1)
RETURN
IF([Revenue] >= Percentile90,"90th Percentile",
IF([Revenue]>=Percentile75,"75th Percentile",
IF([Revenue]>= Percentile50,"50th Percentile",
if([Revenue]>=Percentile10,"10th Percentile","Bottom Percentile"))))
但我认为 ATT 应该返回“底部百分位数”,因为第 10 个百分位数是一个更高的数字。