带有百分比度量Power BI的帕累托图

时间:2018-08-07 19:51:55

标签: powerbi dax measure powerbi-desktop pareto-chart

我正在创建的仪表板有问题。

我需要制作一个Pareto图表,并且我在Internet上找到了很多有关如何在Power BI中进行制作的教程,但是,我需要使用百分比的度量,这就是我要坚持的地方。

这是我桌子的一部分:

Database

我所测得的值是Não_Recebido_DinâmicoFat_Liq1的百分比。措施是:

% Inadimplência_Dinâmico = DIVIDE(SUM('Mapa_de_Faturamento (2)'[Não_Recebido_Dinâmico]);
                                  SUM('Mapa_de_Faturamento (2)'[Fat_Liq.1])) + 0

因此,我需要通过此度量制作前10名Cursos的帕累托图表。当我在互联网上应用帕累托图的方法时,它不起作用,因为它们使用度量的总和来求出累计百分比。

例如,这些是度量Cursos中排名前十的% Inadimplência_Dinâmico。我认为,要使帕累托图正常工作,总和应是度量的总和,但这不是Power BI中发生的事情,因为它一直将百分比视为百分比。

Table

我试图做与计算列相同的度量,但是它也不起作用,因为在这种情况下,它求和了所有行的百分比。

我对Power BI的DAX功能不熟悉,所以我需要一些帮助。

这是我在Power BI中想要的,但是在Excel中完成的:

Example of what I want

谢谢大家!

1 个答案:

答案 0 :(得分:0)

首先,让我们为排名创建一个计算列(名称为易读性缩写):

Ranking = RANKX(
              SUMMARIZE('Mapa_'; 'Mapa_'[Curso]);
              CALCULATE(
                  DIVIDE(SUM('Mapa_'[Não_]); SUM('Mapa_'[Fat_]));
                  ALL('Mapa_'); 
                  'Mapa_'[Curso] = EARLIER('Mapa_'[Curso])))

现在我们可以创建一个累积量度:

Accum = DIVIDE(
            CALCULATE(
                SUM('Mapa_'[Não_]);
                FILTER(ALLSELECTED('Mapa_');
                    'Mapa_'[Ranking] <= MAX('Mapa_'[Ranking])));
            SUM('Mapa_'[Fat_]))

现在,您可以使用在共享轴上Curso,在列值上% Inadimplência_Dinâmico和在行值Accum上创建折线图和条形图。

请注意,在您应用适当的过滤之前,它将具有所有的功能。为此,请转到视觉级别过滤器(或页面级别或报告级别),然后为Curso选择前N个过滤条件。您希望使用Ranking列显示“按价格排序”选项的“底部10”项目。

Filtering

ALLSELECTED度量的Accum部分将确保您仅包括所需的前10名,而不是所有行。