首页 > 解决方案 > 如何在 Power Bi 中分配轴的子类别

问题描述

一开始我有这张桌子

在此处输入图像描述

我想要的是把宇宙分成3个部分,所以我做了以下

我相信专栏

UniqueRank = 
RANKX (
 inci;
  FORMAT (inci[nro_casos]; "0000" ) & inci[region] & inci[site]
)

然后我创建两个措施

 ranking_total = 
 RANKX (
   ALLSELECTED ( inci );
   inci[UniqueRank];
   MAX ( inci[UniqueRank] )
 )

 tirdh_case = IF(inci[ranking_total]<=COUNTROWS(ALLSELECTED(inci))*0.33;"3P";
 IF(inci[ranking_total]<=COUNTROWS(ALLSELECTED(inci))*0.66;"2P";"1P"))

在此处输入图像描述

然后我会保持如下。如您所见,可以应用星期和区域的过滤器,正常分为三个部分,但我想在图表中显示它,并且我想将 tirdh_case 作为轴,为此我创建了一个名为的新表'轴'

在此处输入图像描述

所以我创建了与这两个表相交的度量

suma_inci = CALCULATE (
  SUM( inci[nro_casos] );
  FILTER ( inci; [tirdh_case] IN VALUES ('axis'[indice]) )
)

在此处输入图像描述

正如您在图像中看到的那样,该图表运行良好,但我将“站点”列作为子类别插入,因此当我单击每个栏时,它会向我显示属于该栏的网站,但会发生什么所有站点都在第一个栏中累积...您将如何链接站点并正确分类?

标签: powerbi

解决方案


这是合乎逻辑的,因为度量是根据您的选择动态计算的。因此,当您选择带有“P1”的柱时,它需要重新计算您的拆分,因为这是您选择的。因此,如果您想更深入地了解这个级别,您需要将您的度量设为一列,以便将其静态划分。

您的专栏更像是:

tirdh_case = 
var maxRank = MAX(inci[UniqueRank])
var splitNr = 3
var divider = maxRank/3
return CEILING((1 + maxRank - inci[UniqueRank])/divider;1) & "P"

您现在不需要额外的表格,因为您可以将此列用作轴。我这样做是为了让您可以根据自己的喜好更改 splitNr。

最终结果:在此处输入图像描述


推荐阅读