首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >权力比的动态排序

权力比的动态排序
EN

Stack Overflow用户
提问于 2018-03-12 05:49:14
回答 1查看 7.6K关注 0票数 2

我有一个要求,其中,我需要获得前5品牌的销售阀门在一个图表。

场景如下:示例数据如下所示

代码语言:javascript
复制
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个品牌显示为其他所有其他品牌的总和。

当用户从切割机中选择任何品牌(单一选择)时,这个特定的品牌应该排在第一位,像往常一样排在前三位,最后一个是“其他人”分组剩下的品牌。

我成功地获得了前四大品牌和其他品牌。但是,停留在获得基于切割器选择的动态排名。

请参阅我制定的以下措施:

销售和

代码语言:javascript
复制
SumSales = SUM(Sheet1[Sales])

代码语言:javascript
复制
Rank = RANKX(ALL(Sheet1[Brand ]),[SumSales])

Top5

代码语言:javascript
复制
Top5 = IF ([Rank] <= 4,[SumSales],
  IF(HASONEVALUE(Sheet1[Brand ]),
    IF(VALUES(Sheet1[Brand ]) = "Others",
       SUMX ( FILTER ( ALL ( Sheet1[Brand ] ), [Rank] > 4 ), [SumSales] )
    )
  )
)

EN

回答 1

Stack Overflow用户

发布于 2018-03-14 16:45:39

这比我预期的要棘手,但还是有可能的。

首先,让我们创建一个经过计算的列,对以后使用的品牌进行排序。

代码语言:javascript
复制
Rank = RANKX(ALL(Sheet1), Sheet1[Sales])

这里的一个关键想法是,您需要一个单独的表作为您的切片机,否则,您将无法看到所有的品牌,当您作出选择。让我们按照以下方式定义一个新的表Brands

代码语言:javascript
复制
Brands = SUMMARIZECOLUMNS(Sheet1[Brand ], Sheet1[Rank])

我们将用这张桌子做切割机。

接下来,我们创建一个相当复杂的度量来整合我们需要的所有逻辑:

代码语言:javascript
复制
Top5 = 
    VAR BrandRank = SELECTEDVALUE(Brands[Rank])
    RETURN IF(MAX(Sheet1[Brand ]) = "Others",
               CALCULATE(SUM(Sheet1[Sales]), ALL(Sheet1)) -
               CALCULATE(SUM(Sheet1[Sales]), ALL(Sheet1),
                   Sheet1[Rank] >= BrandRank, Sheet1[Rank] < BrandRank + 5),
                IF(COUNTROWS(ALLSELECTED(Brands[Brand ])) = 1,
                    IF(MAX(Sheet1[Rank]) >= BrandRank &&
                       MAX(Sheet1[Rank]) < BrandRank + 5,
                           SUM(Sheet1[Sales]),
                           BLANK()),
                    IF(MAX(Sheet1[Rank]) <= 5,
                           SUM(Sheet1[Sales]),
                           BLANK())))

然后,您可以在矩阵和甜甜圈图中使用此度量。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49228855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档