Power BI

Power BI 보고서 작성 # 8

s2h15 2024. 5. 17. 09:26
728x90

 

 

 

○ 두 개의 열로 이루어진 행렬 시각화

다음 아래의 사진과 같이 구성된 테이블을 가지고 해당하는 열의 번호에 따라 각각의 측정값을 반환하도록 switch 문을 사용하면됨

이때 합계부분은 그 값을 따로 반환해야하므로 다음과 같이 측정값 수식을 작성함

@TableData =
    IF(
        HASONEVALUE(BI_CUSTOM_CURRENCY_CODE[CURRENCY_CODE]),
        SWITCH(
            SELECTEDVALUE('BI_CUSTOM_COL_DIV_MST'[IDX]),
            1 , [@매출_계획평균환율],
            2 , [@매출_당기평균환율],
            3 , [@매출_환율차],
            4 , [@매출_외화금액],
            5 , [@매출효과],
            6 , [@매입_계획평균환율],
            7 , [@매입_당기평균환율] ,
            8 , [@매입_환율차],
            9 , [@매입_외화금액],
            10, [@매입효과],
            11 , [@전년비_매출_전기평균 환율],
            12 , [@전년비_매출_당기평균 환율],
            13 , [@전년비_매출_환율차] ,
            14 , [@매출_외화금액] ,
            15 , [@전년비_매출효과],
            16 , [@전년비_매입_전기평균 환율],
            17, [@전년비_매입_당기평균 환율] ,
            18 , [@전년비_매입_환율차] ,
            19 , [@매입_외화금액],
            20 , [@전년비_매입효과],
            [@손익효과]),
        [@@합계]
    )

>> 계획비와 전년비 슬라이서 선택에 따라 행렬 시각화 개체의 열도 변경되는 것을 확인할 수 있음

 

 

○ 조건부서식의 아이콘이 아닌 기호 서식에 넣기

 

음수값은 글꼴색이 빨간색이고 값 앞에 △ 기호가 붙도록 설정해야하는데

아이콘에는 해당하는 기호가 없으므로 서식을 동적 으로 설정하여 다음과 같이 설정함

아래는 세미클론 기준 왼쪽은 양수일때 오른쪽은 음수일때로 음수일때는 삼각형이 포함되는 소수점 1 자리 숫자까지 표시되도록 하였음

 

"#0.0;#0.0"

 

 

값이 있는 경우에만 반환하도록 하기

다음과 같이 전기평균 환율이 있는 경우에만 환율차가 반환되도록 하기 위해 IF 문의 조건으로 전기평균 환율을 넣으면 값이 있을때는 true, 없을때는 false로 판단하여 값을 반환함

 

@전년비_매입_환율차 =

IF(

    [@전년비_매입_전기평균 환율],

    [@전년비_매입_당기평균 환율] - [@전년비_매입_전기평균 환율]

)

 

 

○ 합계 구하기

 

summarize를 통해 Fact 테이블을 currency_code로 그룹화하고 이에 대한 각각의 값을 구함

값이 0이 아닐때만 반환하도록 하였음( 값이 0이면 빈칸 )

 

@@합계 =
VAR val1 =
    SUMX(
        SUMMARIZE(
            'T_FACT_FIN_CMA_OP_INC_DIFF_XRATE',
            'T_FACT_FIN_CMA_OP_INC_DIFF_XRATE'[CURRENCY_CODE],
            "전년비매출",
            [@전년비_매출_환율차] * [@매출_외화금액]
        ),
        [전년비매출]
    )
VAR val2 =
SUMX(
    SUMMARIZE(
        'T_FACT_FIN_CMA_OP_INC_DIFF_XRATE',
        'T_FACT_FIN_CMA_OP_INC_DIFF_XRATE'[CURRENCY_CODE],
        "전년비매입",
        [@전년비_매입_환율차] * [@매입_외화금액]
    ),
    [전년비매입]
)
VAR val3 =
SUMX(
    SUMMARIZE(
        'T_FACT_FIN_CMA_OP_INC_DIFF_XRATE',
        'T_FACT_FIN_CMA_OP_INC_DIFF_XRATE'[CURRENCY_CODE],
        "전년손익",
        [@전년비_매출_환율차] * [@매출_외화금액] - [@전년비_매입_환율차] * [@매입_외화금액]
    ),
    [전년손익]
)
VAR result =
SWITCH(
            SELECTEDVALUE('BI_CUSTOM_COL_DIV_MST'[IDX]),
            5 , [@매출효과],
            10, [@매입효과],
            15 , val1,
            20 , val2 ,
            21 , [@손익효과],
            22 ,val3
        )
RETURN
IF(
    result <> 0 ,
    result
)
728x90