Power BI 보고서 작성 # 7
○ 행렬에서 행 여러개 계단형 레이아웃 제거 + 드릴다운
세 개의 컬럼을 행렬의 행부분에 추가하고 드릴 다운을 한 뒤
계단형 레이아웃을 제거하면 세 개의 행이 각각 다음 사진과 같이 표시되게 된다.
○ 연결관계가 없는 경우 행에 따른 데이터 반환하는 측정값
Fact 테이블의 값이 하나로 이루어져 그에 대한 구분 컬럼이 존재하는 것이 아니라
재료비 , 노무비 , 경비 등에 대한 값이 각각의 컬럼으로 구성되어있는 경우
다음과 같이 각각의 측정값을 생성해서 switch문을 통해 반환하도록함
이때 비교는 아래 표와 같이 해당하는 level 1,2,3에 따라 index 컬럼을 생성하여 비교하도록 하면 측정값 구문을 간결하게 만들 수 있음
○ 하나의 행만 다른 데이터 형식으로 반환되게 하기
전년비 실적의 경우 생산액의 경우에는 %로 백분율 값이 나오고
나머지는 값의 차가 정수로 나와야하는 상황
백분율 값을 반환하도록 다음과 같이 %를 붙임
○ 값이 표현되지않고 아이콘만 표현되게 하기
먼저 아래와 같이 빈값을 반환하는 측정값을 생성한 뒤 이를 값에 추가해줌
해당 측정값의 조건부 서식으로 아래와 같이 기준으로하고자 하는 필드를 지정하고
조건부 서식을 작성하면 됨
○ 그래프 범례 - 원하는 컬럼이 없을때
원하는 컬럼이 존재하지 않는다면 범례를 위한 테이블을 생성해줌
인덱스는 정렬을 위해 추가함
이때 측정값으로 해당하는 범례에 따라 값이 반환되도록 설정함
막대그래프도 동일하게 설정하였음
X축(당기 , 전년 , 계획)에 해당하는 값들이 있는 테이블을 위와 같이 생성하고
범례(경비, 노무비 , 재료비)와 같은 값들에 대한 측정값을 각각 생성함
각각의 측정값은 아래와 같이 해당하는 X축 값에 의해 다른 값을 반환하도록 Switch 문을 사용하였음
○ 선택한 연월 기준으로 해당 월까지만 반환하는 행렬 생성하기
슬라이서는 연결관계가 없는 Calendar 테이블 , 행렬의 열은 Fact 테이블과 연결관계가 있는 Calendar 테이블을 사용
측정값은 아래와 같이 연도가 동일하고 월이 작은 경우에만 값을 반환하도록 설정
++ 당년 누계는 따로 측정값을 생성하지 않고 열합계의 제목만 바꿔줌
○ 전월, 전전년도, 전년도 값 구하기
관계가 끊어진 Calendar 컬럼이 슬라이서로 지정되어있기 때문에 Dateadd를 사용하지 못해서 다른 방법으로 전월 , 전년 을 구함
전월 : 1을 뺀 값이 0이면 연도에서는 1을 빼고 월으로는 12를 반환하도록 함
PrevMonth_SA =
VAR selectedmonth = SELECTEDVALUE(T_DIM_FND_COM_DAY[MONTH]) - 1
VAR year =
SWITCH(
selectedmonth,
0 , VALUE(SELECTEDVALUE(T_DIM_FND_COM_DAY[YYYY])) - 1,
VALUE(SELECTEDVALUE(T_DIM_FND_COM_DAY[YYYY])))
VAR month =
SWITCH(
selectedmonth,
0 , 12,
selectedmonth)
VAR py =
DIVIDE(
CALCULATE(
SUM('T_FACT_EOM_SCO_PROD_CLOSE_BASE_SA'[SALES_AMOUNT]),
'BI_CUSTOM_DATA_TABLE_GRAPH'[YYYYMM] = FORMAT(DATE(year , month , 1) , "YYYYMM")
)
,
SELECTEDVALUE(BI_CUSTOM_UNIT_REGION_TABLE[APPLY_AMOUNT])
)
return py
전년도
연도는 1씩 빼도 문제가 되지 않으므로 그대로 진행함
PrevYear_SA =
DIVIDE(
CALCULATE(
SUM('T_FACT_EOM_SCO_PROD_CLOSE_BASE_SA'[SALES_AMOUNT]),
DATEADD(T_DIM_FND_COM_DAY[DATE],-1, YEAR),
'BI_CUSTOM_DATA_TABLE_GRAPH'[YYYYMM] = FORMAT(DATE(SELECTEDVALUE(T_DIM_FND_COM_DAY[YYYY]) -1 , SELECTEDVALUE(T_DIM_FND_COM_DAY[MONTH]) , 1) , "YYYYMM")
)
,
SELECTEDVALUE(BI_CUSTOM_UNIT_REGION_TABLE[APPLY_AMOUNT])
)
○ 선택한 연월의 전년도 , 전전년도 구하기
아래 식과 같이 max 값을 구하는 calculate 안에 filter로 슬라이서 Calendar 테이블의 date 컬럼을 Dateadd를 통해 설정해준다.
이걸 사용해서 전년도의 측정값을 구할 수 있지 않을까?
아래와 같이 작성해본 결과 같은 값을 반환하는 것을 확인할 수 있었다.
앞으로 더욱 간결하게 작성하는 것이 가능해질 것 같다