Power BI에서 파레토 다이어그램 만들기

12063 단어 PowerBI

소개


  • Power BI에서 막대 그래프를 표시할 때 파레토 다이어그램 로 표시할 수 있으면 편리합니다.
  • 파레토 차트의 누적 비율 계산식은 빠른 측정값에 제공되지 않은 것 같습니다.
  • 누적 비율의 DAX식으로, 여러가지 시행착오했습니다만, PowerBIxyz씨로부터, 어드바이스를 받아, 대책판을 개정했습니다. (2019.9.1)

  • 샘플 데이터



    다음 표 데이터를 예로 파레토 다이어그램을 만듭니다.

    표1




    카테고리
    Value


    A
    8

    B
    2

    A
    3

    B
    1

    B
    2

    C
    5

    D
    3


    측정값 만들기



    모델링 > 새 측정값에서 누적 비율을 계산하는 DAX 식을 입력하여 측정값을 만듭니다.

    방법 1



    참고 사이트 htps //w w. 요츠베. 이 m/와 tch? v=bzF5k 2BQ60

    DAX
    Pareto = 
    VAR SummarizedTable = 
    SUMMARIZE(
        ALLSELECTED(Table1),Table1[Category], 
        "Sum",SUMX(Table1,Table1[Value])
    )
    VAR CumulativeSum =
    SUMX(
        FILTER( SummarizedTable,[Sum] >= SUMX(Table1,Table1[Value]) ),
        [Sum]
    )
    VAR Total = SUMX(SummarizedTable,[Sum])
    RETURN
    DIVIDE(CumulativeSum,Total)*100
    

    계산된 누적 비율





    상기 DAX식에서는 카테고리의 합계가 같은 B, C에서는 누적 비율이 일정해져 버리는 것 같습니다.
    카테고리별 합계가 모두 다른 값이면 올바르게 계산됩니다.

    방법 2(대책판)



    카테고리의 합계가 같은 경우 누적 비율이 올바르게 계산되도록 개선했습니다.
    표1
    Table1[Category]
    Table1[Value]
    이름을 바꾸어 사용하면 다른 테이블 이름에서도 사용할 수 있습니다.

    DAX
    Pareto = 
    VAR SummarizedTable = 
    SUMMARIZE(
        ALLSELECTED(Table1), Table1[Category], 
        "Sum",SUMX(Table1, Table1[Value])
    )
    VAR CurrentCategory =
        SELECTEDVALUE ( Table1[Category] )
    VAR CurrentCategorySum =
        CALCULATE ( SUM( Table1[Value] ), Table1[Category] = CurrentCategory )
    VAR CumulativeSum =
        SUMX (
            FILTER (
                SummarizedTable,
                [Sum] > CurrentCategorySum
                    || ( [Sum] = CurrentCategorySum
                    && Table1[Category] <= CurrentCategory )
            ),
            [Sum]
        )
    VAR TotalSum =
        SUMX(ALLSELECTED(Table1), Table1[Value])
    RETURN
        100 * DIVIDE ( CumulativeSum, TotalSum )
    

    계산된 누적 비율







    카테고리 집계 방법이 카운트인 경우



    VAR SummarizedTable =... 에 있는 SUMX → COUNTX
    VAR CurrentCategorySum =...의 SUM → COUNT
    VAR TotalSum =...의 SUMX → COUNTX
    로 대체하면 마찬가지로 누적 비율을 계산할 수 있습니다.

    DAX
    ParetoC = 
    VAR SummarizedTable = 
    SUMMARIZE(
        ALLSELECTED(Table1), Table1[Category], 
        "Sum",COUNTX(Table1, Table1[Value])
    )
    VAR CurrentCategory =
        SELECTEDVALUE ( Table1[Category] )
    VAR CurrentCategorySum =
        CALCULATE ( COUNT( Table1[Value] ), Table1[Category] = CurrentCategory )
    VAR CumulativeSum =
        SUMX (
            FILTER (
                SummarizedTable,
                [Sum] > CurrentCategorySum
                    || ( [Sum] = CurrentCategorySum
                    && Table1[Category] <= CurrentCategory )
            ),
            [Sum]
        )
    VAR TotalSum =
        COUNTX(ALLSELECTED(Table1), Table1[Value])
    RETURN
        100 * DIVIDE ( CumulativeSum, TotalSum )
    

    산출한 누적 비율(집계 방법이 카운트인 경우)





    참고


  • Creating a Pareto Chart Using DAX and Native Visuals in Power BI(Havens Consulting)
    htps //w w. 요츠베. 이 m/와 tch? v=bzF5k 2BQ60
  • Creating a Pareto Chart Using DAX and Native Visuals in Power BI
    htps // 뽀뽀. 치 ps/2016/10
  • 좋은 웹페이지 즐겨찾기