앞에서 설명드린 데로 파워비아이에서 데이터를 변형시키는 방법은 2가지가 있습니다.
- M-Code (M Language)
- DAX
어느 것이 좋다고 단정 지을 수는 없으며, 상황에 따라 적당한 것을 사용하면 됩니다.
DAX는 엑셀의 수식에 가까운 형태를 지닌다면, M-Code (M Language)는 이름에서 알 수 있듯이 컴퓨터 언어와 비슷한 형식을 가지고 있습니다.
IF 문을 예를 들자면 아래와 같습니다.
위의 간단한 수식 및 명령문에서 볼 수 있듯 DAX가 수식의 확장판이라면, M-Code (파워쿼리 에디터)는 VBA (Visual Basic Application)의 확장판 같은 느낌이 듭니다.
마치 엑셀이 수식과 VBA로 서로의 기능을 서로 보완하며 밸런스를 맞추어 가듯이, 파워비아이도 DAX와 M-Code가 서로 어우러져 1+1=2가 아닌 10 아니 100으로 기능을 확장시켜 주기 때문입니다.
이 두 개의 특징을 한 단어로 나타내고자 한다면 아래와 같이 정리가 될 듯합니다.
- DAX - 확장성
- M-Code - 유연성
파워쿼리는 아주 딱딱한 프로그램입니다.
수많은 데이터를 다루는 프로그램의 특성상 사소한 에러 하나가 계산이 거듭될수록 결과치에 큰 영향을 줄 수 있기 때문에 가능한 정해진 틀 안에서 데이터를 다루려는 속성을 가지고 있으며, 예외를 허용하는데 아주 인색합니다.
하지만 M-Code를 이용한다면 어느 정도 정해진 틀을 벗어나 유연성을 부과할 수 있으며, 이를 잘 사용한다면 약간의 융통성을 지닌 데이터를 구축할 수 있게 됩니다.
DAX를 통한 확장성은 말로 설명할 필요가 없습니다.
각각 독립된 쿼리를 서로 연결하면 하나의 거대한 쿼리로 바뀌게 되는데 이를 바탕으로 DAX를 이용한 수식으로 각 쿼리의 데이터를 변형시키는 것은 파워비아이의 백미라 할 수 있으며, 여기에 더해 측정값이라는 개념을 도입해, 기존의 쿼리에 새로운 열의 추가 없이 필요한 결과치를 저장해 두고, 이를 또 다른 수식에 사용이 가능하게 하여 데이터 분석의 효율을 극대화시켜줍니다.
어떤 것을 사용해야 하느냐는 각자의 판단이 아닐까요.
정확히 이야기하자면 둘 중 하나만 이용해도 원하는 결과는 똑같이 얻을 수 있습니다.
파워쿼리 에디터도 아주 훌륭한 프로그램이라 이것만으로도 충분히 원하는 만큼의 데이터 변환이 가능합니다.
혹시 DAX가 편하다는 분은 엑셀의 데이터를 불러와 특별한 수정 없이 DAX의 수식만으로도 원하는 결과치를 충분히 얻을 수 있습니다.
하지만 데이터 분석이라는 것이 한 번에 끝나는 경우가 드문지라 시작단계에서 두 가지의 효과적인 배치에 대한 고민이 좀 더 효율적이고 확장성을 지닌 데이터 구축에 도움이 되는 건 사실입니다.
사공이 많으면 배가 산으로 가듯, 시작부터 너무 많은 생각은 데이터 구축을 점점 복잡하게 할 수 있으니 시작할 것이 있다면 일단 무엇이라도 좋으니 무작정 시도를 해 보는 것도 중요합니다.
그러다 보면 보완할 점이 보이고, 이를 계속 보완하는 시행착오를 겪으며 이른바 진정한 내공이 생기는 것이 아닐까 생각합니다.
'DAX > DAX' 카테고리의 다른 글
DAX에서 VLOOKUP 함수 만들기 (2) - LOOKUPVALUE보다 편한 RELATED (1) | 2021.03.27 |
---|---|
DAX에서 VLOOKUP 함수의 사용 (0) | 2021.03.27 |
DAX에서 COUNTIF 함수 만들어 사용하기 (0) | 2021.03.27 |
DAX에서 SUMIF 함수 만들어 사용하기 (3) | 2021.03.27 |
DAX에서 IF 함수의 사용 (0) | 2021.03.27 |