Power Query 21

팝업창을 만들어 보고서 예쁘게 정리하기

파워비아이 (Power BI) 보고서를 만들 때 보여줄 것은 많은데 페이지가 너무 작다는 생각은 누구나 해 보셨을 것입니다. 여러 슬라이서, 표, 도표 등을 좀 더 깔끔하게 정리할 목적으로 팝업창을 만들어 사용하고 있습니다. 크게 어렵지 않으며, 간단하게 몇 단계만 거치면 아주 멋지고 깔끔한 팝업창을 만들 수 있는데요, 이렇게 보고서를 만들면 좀 더 전문가 스럽기도 하니 일거양득의 효과를 볼 수 있죠. 특별히 DAX나 M-Code가 필요한 것도 아니고 레이어와 책갈피만 잘 이용하면 아주 멋진 팝업창을 만들 수 있죠. 오늘 말씀드리는 팝업창 만들기를 잘 알아두시면 꼭 지금이 아니더라도 나중에 보고서를 만들 때 반드시 도움이 될 수 있으니 꼭 알아두셨으면 합니다. 간단하게 팝업창 만들기 한번 보실까요?

테이블의 모양을 예쁘게 바꾸어 보고서 멋지게 꾸미기

파워비아이 (Power BI) 보고서를 만들 때 테이블은 거의 필수요소입니다. 테이블의 장점은 그래프에 비해 많은 정보를 제한된 공간에 보여줄 수 있다는 것입니다. 파워비아이의 초기 테이블도 그리 나쁘지 않지만, 이런 테이블을 좀 더 예쁘고 보기 좋게 만든다면 보고서도 더 화려해 보일 것입니다. 아주 간단하지만 숨어있는 기능을 모르는 분들도 많이 있습니다. 서식에서 몇가지의 설정만 바꾸어준다면 아주 간단하게 테이블이 보기 좋게 바뀌게 되는데요, 어떤 서식을 바꾸면 보기 좋게 되는지 알아보겠습니다.

DAX - 변수 (Variable)을 이용한 수식의 단순화

파워 비아이 (Power BI)의 DAX의 가장 큰 장점은 수많은 수식을 이용해 하나의 수식으로 만들 수 있다는 것입니다. 주로 하나의 수식으로 끝나는 경우가 없다고 해도 무방합니다. 문제는 수많은 수식을 함께 사용하다보면 너무 복잡해져 보기도 힘들뿐더러 나중에 수정을 하려 할 때 너무 힘들어지는 경우도 많습니다. DAX에서는 이를 해결하기위해 변수 (Variable)을 이용해 수식을 단순화시킬 수 있습니다. 처음에는 약간 복잡할해 보일 수 있으나, 사용해 보시면 정말 편하게 수식을 정리할 수 있습니다. 정말 편리한 변수 (Variable)의 지정, 사용 방법은 어떻게 되는지 알아보겠습니다.

파워쿼리와 엑셀의 가장 큰 차이점

파워쿼리와 엑셀의 차이점은 많이 있습니다. 수식의 입력이나 함수의 사용이나 뭐 하나 같은 것이 없습니다. 하지만 가장 큰 차이점은 '단위의 구성'입니다. 앞에서도 간단히 설명해 드렸지만 이에 대한 이해가 없다면 파워쿼리로 작업 시 많은 혼동을 가지고 옵니다. ​ 엑셀을 잠시 보겠습니다. 빨간색 박스가 보이죠? 엑셀은 Cell이라는 단위로 구성이 되어있습니다. 셀 단위의 구성으로 인해 좀 더 독립적이고 자유롭게 이용을 할 수 있습니다. 즉 A3, C4, C6는 독립적인 단위이고, C7=A3*(C4+C6)라는 수식을 이용한다면 셀 C7에 수식의 결과치를 나타냅니다. 또 다른 셀에 숫자나 문자를 입력해 또 다른 수식을 만들 수 있습니다. ​ 반면 쿼리는 어떨까요? 쿼리는 엑셀만큼 독립적이지는 않습니다. 쿼리에..

DAX에서 VLOOKUP 함수의 사용

VLOOKUP 함수도 엑셀에서 많이 사용되는 함수중 하나라 생각됩니다. 다른 시트에 있는 여러 데이터를 쉽게 가지고 올 수 있는 함수입니다. 엑셀에 관한 설명은 넘어가기로 하고, 아래를 먼저 보겠습니다. 먼저 2개의 테이블이 있다고 가정하겠습니다. 하나는 모든 벽의 종류와 각 벽마다 몇 겹의 드라이월 보드가 들어가는지를 보여주는 테이블입니다. 다른 하나는 각 층별 벽의 종류와 각 벽의 수량으로 이루어진 테이블입니다. 여기서 드라이월 보드의 총면적을 구하려면 Quantity * Drywall이라는 수식이 필요하겠죠 ​ 엑셀이라면 VLOOKUP 함수를 사용해서 가져오면 되겠지만, Power BI에서는 VLOOKUP 함수가 존재하지 않습니다. 역시 비슷한 개념을 가진 LOOKUPVALUE라는 함수를 하용해야 ..

DAX/DAX 2021.03.27

DAX에서 COUNTIF 함수 만들어 사용하기

저번 글에서 DAX에는 SUMIF함수가 없다고 말씀을 드렸습니다. 마찬가지로 COUNTIF함수도 존재를 하지 않습니다. 하지만 다른 함수들을 이용해 COUNTIF함수와 똑같은 기능을 가지도록 만들 수 있습니다. ​ 아래는 Material이라는 이름을 가진 쿼리이며 각 층별, 타일의 형태별 개수를 보여줍니다. 먼저 COUNT 함수를 사용한다면 행의 개수를 반환하므로 15가 나와야겠죠? FLOOR열을 기준으로 COUNT함수를 이용해 행의 개수를 구하겠습니다. Material 쿼리에 있는 [Floor]열의 개수를 반환하라는 함수입니다. ​ 그럼 이제 엑셀에서 자주 쓰는 COUNTIF와 똑같은 역할을 하는 함수를 이용할 건데요. 예전에는 CALCULATE 함수 안에 FILTER를 이용해 구했었는데, COUNTX..

DAX/DAX 2021.03.27

DAX에서 SUMIF 함수 만들어 사용하기

DAX에서 SUMIF함수는 존재하지 않습니다. 사실 보고서에서 슬라이서로 클릭만 하면 원하는 결과를 보여주기 때문에 딱히 필요가 없는 함수 일지 모릅니다. ​ 아래와 같은 쿼리가 있다고 가정을 하겠습니다. 여기서 Zone A만의 합계를 구한다고 생각을 하면 엑셀에서는 SUMIF를 사용해서 A의 합계만 계산할 수 있습니다. 하지만 아래와 같이 Power BI에서는 슬라이서를 이용하면 간단히 해결이 될 수 있기 때문에 크게 문제가 되지 않았던 함수였는것 같습니다. 위에 보여지는 슬라이서에서 A를 클릭하면 딱히 수식을 이용하지 않더라도 Zone A의 합계가 자동 계산이 되어 카드로 표시가 되고, 1F를 선택하게 되면 자동으로 1F의 합계를 보여주게 되죠. ​ 하지만 어떤 경우는 슬라이서를 사용하지 않고 계산을..

DAX/DAX 2021.03.27

DAX에서 IF 함수의 사용

엑셀 함수에서 가장 많이 사용되는 함수중 하나가 IF함수가 아닐까 합니다. DAX에서의 IF함수의 형태는 100% 동일합니다. 딱 하나 다른 점은 셀 대신 열의 이름을 입력해야 한다는 것입니다. ​ IF(조건, 참의 값, 거짓의 값)으로 똑같지만 이전 글에 설명을 드렸듯이 엑셀은 셀 단위로 구성이 되고 쿼리는 열 단위로 구성이 되기 때문에 이것만 다르고 다른 것은 100% 동일합니다. ​ 엑셀에서는 IF(C3>500,"높음","낮음")으로 구성이 된다면 DAX에서는 IF('TABLE'[SALES]>500,"높음","낮음")으로 구성이 됩니다. 쿼리의 이름은 ''으로 표시가 되면 열의 이름은 []으로 표시가 됩니다. 그래서 'TABLE'은 쿼리의 이름이며, [SALES]는 쿼리 내 열의 이름이 됩니다. 다..

DAX/DAX 2021.03.27

SUM과 SUMX의 차이점을 알아보자

아마 엑셀을 사용할 때 가장 많이 사용하는 함수중 하나가 SUM이라 생각합니다. DAX에서는 SUM외에 SUMX라는 함수를 가지고 있는데 간단히 알아보겠습니다. ​ A,B,C라는 Type의 개수와 단가를 보여주는 표입니다. 그리고 아래에서 Total이라고 보이는 것은 SUM을 이용한 결과치이고 Totalx라는 것은 SUMX의 결과치입니다. 도표상으로는 Total이 맞는 것 같지만 실제의 데이터를 보면 Total은 잘못된 결과입니다. ​ 두 함수의 다른 점은 SUM은 수직으로 계산을 하는 반면 SUMX는 수평적인 계산을 한다는 것입니다. 비슷한 엑셀의 함수는 SUMPRODUCT라고 생각을 하면 되겠습니다. Type A를 예를 들자면 데이터 내부에 있는 모든 A의 개수와 단가를 먼저 곱한 뒤 합계를 계산합니..

DAX/DAX 2021.03.27

DAX를 시작하기전 꼭 알아야 할 사항

DAX를 이용할 때 꼭 알아야 할 한 가지가 있어서 먼저 말씀드리겠습니다. DAX의 함수는 엑셀의 함수와 똑같은 것도 많고 다른 것도 많습니다. 처음 DAX의 함수를 접한 분들이 많이 혼돈스러워하는 부분은 엑셀과 약간 다른 명령체계입니다. 엑셀은 각각의 셀에서 아주 자유롭게 수식을 만들고 사용할 수 있습니다. 즉 같은 열에 있는 행이라도 얼마든지 자유롭게 다른 수식을 만들 수 있고, 다른 속성의 데이터 입력이 가능합니다. 하지만 DAX는 파워쿼리를 기반으로 명령문이 작성되기 때문에 반드시 열단위로 구성이 되어야 합니다. ​ 아래의 파워쿼리 데이터를 보겠습니다. (엑셀이 아닙니다) 필드의 이름이 도시, 지점, 날짜, 매출, 연도로 구성이 되어있고 각각의 속성은 문자, 문자, 날짜, 금액, 문자 이렇게 구성..

DAX/DAX 2021.03.27