목차
인삿말
안녕하세요! 대기업 BI 입니다.
오랜만에 포스팅이네요! 😁
이번에는 Power BI Desktop 에서 슬라이서, 필터링 적용 시
해당 필터링 기준에 따라 시각적 개체의 "제목" 이 동적으로 변경되도록 해볼겁니다.
그게 뭐냐구요? (안궁금x3)
그럼 바로 결과물 부터 살펴볼게요!
결과물 미리보기
먼저 결과물을 요약해보면,
1) 슬라이서 선택에 따라 시각적 개체의 "제목"이 변경되도록 적용
2) 모든 슬라이서에 필터링 상태/조건이 동적으로 변경되도록 적용
아무래도 보고서 내 슬라이서가 많거나
지속적으로 "제목"에 값을 표현해줘야 한다면 해당 기능을 사용하면 직관적이겠죠?
종종 슬라이서가 적용되어 있는데 모르는 경우도 있으니 그 측면에서는
해당 보고서를 사용하는 사용자에게 편리한 기능이겠네요. 😁
자 그럼 바로 어떻게 구현하는지 살펴볼게요!
시각적 개체 내 동적 제목 만들기
먼저 해당 기능 구현을 위해서는 아래 두가지를 이해해야합니다.
1) DAX 구성법
2) 시각적 개체 제목에 동적 서식 적용 방법
그럼 바로 1)번 부터 살펴볼게요.
1) DAX 구성법
2) 시각적 개체 제목에 동적 서식 적용 방법
1) DAX 구성법
결과물 먼저 보면 아래와 같습니다.
먼저
MIN, MAX 함수 내 "슬라이서"에 들어간 날짜 테이블의 칼럼값을 넣어주고
칼럼을 참조하지 않는 고정 값의 경우
(예로 "~" 날짜 간 사이를 나타낼 때)
"&" 연산자를 넣어주면 됩니다.
그리고 "기준 설치대수 현황" 등도 동적으로 움직일 필요가 없는 텍스트죠?
동일하게 "&" 연산자 사이에 넣어주면 됩니다.
마지막으로 FORMAT 함수인데, 요게 좀 중요합니다.
FORMAT 함수 구성 먼저 볼게요.
FORMAT([서식 변경이 필요한 측정값명] , "적용하고자 하는 서식")
그럼 [설치대수] 라는 측정값을
- 천 단위로 나눠주고, 정수자리는 무조건 표현 : #,##0
※ #은 값이 없으면 표현하지 않고, 0은 값이 없더라도 무조건 나타냅니다.
- 숫자 뒤에 "건"을 넣기 : #,##0건
적용해주면 되는데, 그럼 결과물이 어떤지 시각적 개체에서 확인해 봐야겠죠?
그럼 2) 시각적 개체 제목에 동적 서식 적용 방법 바로 살펴볼게요.
2) 시각적 개체 제목에 동적 서식 적용 방법
(1) 시각적 개체 더블클릭 등으로 [서식] 창으로 진입
(2) [시각적 개체] 창으로 진입
(3) [제목] 탭 활성화
(4) fx 표시 (서식 적용) 클릭
(5) [서식 스타일] 내 [필드 값]
(6) 아까 입력한 측정값 선택
그 다음 [확인] 버튼을 클릭하면,
아래와 같이 측정값의 서식이 잘 보여지는 걸 보실 수 있습니다.
그럼 슬라이서 값을 변경해볼까요?
아래와 같이 일자, 건수 모두 잘 변경되는 것을 보실 수 있습니다.
그럼 위 기능을 보통 언제 사용하냐,
- 시각적 개체에 동적 서식 적용
- 데이터 레이블 사용자 지정 서식 적용
- 측정값 동적 서식 적용
등에 활용이 됩니다만, 위 여러가지 예시들은 나중에 한번 다뤄볼게요 😁
필터 적용 Display 창 만들기
그 다음은, 아래와 같이 적용된 필터들이 보이는 필터 Pane을 만드는 방법인데요.
결과물은 위에서 살펴본 것과 같이 적용된 필터들이 보이게 되는 것입니다.
위 필터 Pane을 만들기 위해서는
1) DAX로 측정값 만들기
2) 테이블 시각적 개체에 측정값 넣고 세팅하기
위 두가지 단계를 거쳐야하는데요.
바로 1) DAX로 측정값 만들기 부터 들어가볼게요.
1) DAX로 측정값 만들기
먼저 측정값을 Header와 필터 내용을 담을 2가지 측정값이 필요합니다.
- Showfilters2_Header :
아래 1) Header 부위에 해당하는 측정값 부분입니다.
간단하게 해설해볼게요.
// 승강기상태
IF(
ISFILTERED('파워쿼리기본'[승강기상태]),
"승강기상태:" & REPT(UNICHAR(10),COUNTROWS(VALUES('파워쿼리기본'[승강기상태])))
)&
"
위 DAX가 계속 반복되는 형태인데요,
1) ISFILTERED : [승강기상태] 칼럼에 필터가 적용되면,
2) REPT : REPT(반복할 텍스트 문자열, 문자열을 반복할 횟수) 구조에 따라
UNICHAR(10)을 [승강기상태]가 선택된 개수만큼 반복한다는 의미인데요,
UNICHAR(10)은 Power BI 및 프로그래밍에서 "줄바꿈"을 의미합니다.
"
즉 요약하면, 필터링이 걸린 칼럼의 개수만큼 값을 반복하는데,
그 반복될때 값을 개행, 즉 줄바꿈하여 나타낸다.. 의 DAX 인거죠.
그럼 어떻게 사용해야하냐면,
위 DAX를 슬라이서 개수 (필터링 걸린 내용을 보여주고자 하는 개수) 만큼 Ctrl+C/V 해주시면 됩니다.
그 다음은 이제 필터 내용을 넣어볼건데요.
아래 [승강기상태] 칼럼을 필터링 하고자 하는 경우에 대해 살펴보겠습니다.
// 승강기상태
IF(
ISFILTERED('파워쿼리기본'[승강기상태]),
var items = VALUES('파워쿼리기본'[승강기상태])
var itemscombined = CONCATENATEX(items, '파워쿼리기본'[승강기상태], UNICHAR(10))
return itemscombined & UNICHAR(10)
)&
위에서 설명한 헤더 부분과 비슷한 부분이 많은데,
"
1) ISFILTERED : [승강기상태] 칼럼에 필터가 적용되면,
2) var items 라는 변수를 정의해주고,
3) VALUES(고유값을 반환하고자 하는 칼럼) 으로 승강기 상태에 고유값 개수를 가져오고,
4) 마지막으로 승강기 상태가 선택된 것 (내용)들을 반복하는데
5) UNICHAR(10)과 합쳐져서
6) 슬라이서에서 값을 누를때마다 줄바꿈이 되면서 선택된 값이 나오고,
마지막에 다시 줄바꿈을 해줘서 그 다음 칼럼으로 줄바꿈 되도록 해줍니다.
"
생각보다 간단하죠? 😁
그럼 이제 위 DAX들을 사용하시는 PBIX 파일에 녹이시려면
아래 테이블명과 칼럼명을 보여주고자 하는 필터 조건들에 맞게 바꿔주셔야겠죠?
'파워쿼리기본'[승강기상태] → '테이블명'[칼럼명]
그럼 이제 열심히 만든 DAX 들을 테이블에 넣어서 세팅해야겠죠?
바로 살펴볼게요.
2) 테이블 시각적 개체에 측정값 넣고 세팅하기
(1) [시각적 개체 빌드] - [테이블] 선택
(2) [Showfilters2_Header] 측정값 이름 더블클릭 → "Filter" 로 이름 변경
(3) [Showfilters2] 측정값 이름 → " "로 이름 변경 (공백)
(4) [시각적 개체] - [배경] 비활성화
(5) [눈금] - [가로/세로 눈금선] 비활성화
(6) [테두리] - 섹션 [값 섹션] 중 위/아래쪽 선택
(7) [열 머리글] 에서 [배경색]을 필터판 색상과 동일하게 설정
자, 이렇게 해서 최종 결과물이 만들어졌습니다.
마무리
이제 조금씩 DAX나 기능들이 복잡(?)하고 어렵게 느껴지실 수 있는데,
감을 잡으시면 아마 따라오시는데 어려움이 없으실거에요 😁
앞으로도 이런 꿀팁 기능들에 대해서 포스팅 해볼 예정이니 관심 부탁드리구요.
혹시 어려우시거나 질문이 있으신 분들께서는 언제든지 댓글 남겨주세요!
그리고 pbix 파일이 필요하신 분이 있다면 댓글에 이메일 남겨주시면 전달드릴게요.
좋아요, 공감, 댓글 및 이웃추가 언제든지 환영입니다!
그럼 지금까지 대기업 BI 였습니다! 오늘도 즐거운 BI 하세요-!
Power BI 문의하기
아래는 Power BI에 대해 더 알아보고 싶으신 분들에게 남겨드리는 글 입니다.
개인적인 궁금증이나, 기업/공공기관의 공식적인 의뢰 모두 환영이니 언제든지 연락주세요!
❒ Power BI 교육, 프로젝트의뢰 : bigcorpbi0419@naver.com
❒ 크몽의뢰하기 (첫의뢰할인) : https://kmong.com/gig/396278
제조업 관리 Power BI 시각화 대시보드 구축 - 크몽
대기업BI전문가 전문가의 IT·프로그래밍 서비스를 만나보세요. 전문가 소개- 해커스 HRD Power BI 대표 강사 - 현) 대기업 내 BI 코디네이터...
kmong.com
❒ 해커스 HRD 인터넷 강의 : https://www.hackershrd.com/lecture.php?mode=lecView&product_key=01::refu%3E4%3EB004%3EM029&p_id=17282a0d5e4c6aa48f5a2fa2a51ae9f3&s_id=Y23M080031
기업교육의 중심 :: 해커스HRD 챔프스터디
재직자 내일배움카드, 기업단체교육, 실무역량 강화 교육, 직급별 필수교육, 고용노동부 인증 훈련기관
www.hackershrd.com