我有一个要求,我需要根据图表中的销售额来获得前五大品牌 .
方案如下:样本数据如下
Brand Sales
-----------
H 3500
B 2500
I 2200
A 1500
J 1400
K 900
E 800
F 700
L 650
D 600
C 500
N 200
M 150
G 100
Others null
现在,要求是始终根据销售情况展示前五大品牌 . 即,排名前4位的品牌和第5个品牌,其他品牌汇总所有其他品牌 .
当用户从切片机中选择任何品牌(单一选择)时,该特定品牌应该排名 - 第一和往常是下一个前3个品牌,最后一个是'其他'对其余品牌进行分组 .
我成功获得了前四大品牌和其他品牌 . 但是,坚持根据切片器选择获得动态排名 .
请参阅我创建的以下措施:
Sum of Sales
SumSales = SUM(Sheet1[Sales])
Rank
Rank = RANKX(ALL(Sheet1[Brand ]),[SumSales])
Top5
Top5 = IF ([Rank] <= 4,[SumSales],
IF(HASONEVALUE(Sheet1[Brand ]),
IF(VALUES(Sheet1[Brand ]) = "Others",
SUMX ( FILTER ( ALL ( Sheet1[Brand ] ), [Rank] > 4 ), [SumSales] )
)
)
)
1 回答
这比我预想的要复杂,但仍有可能 .
首先,让我们创建一个计算列,对以后要使用的品牌进行排名 .
这里的一个关键想法是你需要一个单独的表作为切片器使用,否则你赢得't be able to see all the brands when you make a selection. Let'定义一个新表
Brands
,如下所示:我们将此表用于切片器 .
接下来,我们创建一个相当复杂的度量来合并我们需要的所有逻辑:
然后,您可以在矩阵和圆环图中使用此度量 .