안녕하세요 데이터스랩 '쎄오' 입니다.
저는 모든 분들이 궁금(?)해하는 궁극의 데이터 분석 언어인 DAX 에 대한 이야기를 같이 나누고자 합니다.
파워비아이 하면 떠오르는 것이 대부분은 데이터 시각화와 예쁜 대시보드일테지만 사실 파워비아이의 핵심은 데이터를 자유자재로 원하는 형태로 재구성 할 수 있는 DAX 입니다.
DAX의 시작은 SQL 언어의 대중화에서부터 시작했습니다. 다들 아시다시피(?) 데이터베이스 언어인 SQL(Structured Query Language)은 대용량 관계형 데이터베이스에서 원하는 데이터를 불러오고(Query) 여러 테이블을 연결하여 원하는 형태의 모델링과 데이터 재구조화를 가능하게 하는 언어입니다. 데이터 분석을 한다 하시는 분들이 가장 먼저 공부해야 할 언어이자 관계형데이터베이스 기반 업무 프로세스를 다루는 분들이 반드시 알아야 하는 언어입니다.
문제는 이 SQL 언어가 생각보다 배우고 이해하기 어렵다는 것이었습니다. 데이터 분석의 대중화를 고민하던 마이크로소프트는 이러한 고민을 파악하고 이를 해결 위해 DAX라는 언어를 만들어 냅니다. DAX 는 데이터 구조화에 있어서 SQL의 대부분 기능을 포함하고 있습니다. (SQL의 데이터베이스 설정 함수나 프로그래밍 영역은 해당되지 않습니다.) 게다가 이러한 기능을 엑셀 함수 형태로 매우 쉽게(?) 사용할 수 있도록 만들었습니다.따라서 프로그래밍에 익숙하지 않은 사람들도 어렵지 않게 배우고 사용할 수 있는 형태입니다. 물론 그렇다고 엑셀 함수만큼이나 쉽다고는 할 수 없습니다. 여러 데이터베이스 및 테이블 그리고 관계설정 등의 영역에 해당하는 기능을 구현하려다보니 이보다는 약간 어려울 수 밖에 없습니다. 그렇다고 SQL 처럼 어렵지는 않지만 필수 기본 개념들을 이해하지 못하면 계속 어려울 수 밖에 없는 언어입니다.
그중에서도 특히 이해하기 어려운 개념이 Row Contest 와 Filter Context 입니다. 저도 이에 대해서 명확히 이해나는데 많은 시간이 걸렸습니다. 아마도 많은 분들이 해당 개념 없이 단순 함수 형태로 사용하고 계실 수 있는데 이를 이해하고 DAX를 사용하는 것과 그렇지 않고 DAX 를 사용하는 것에는 많은 차이가 있을 수 있습니다.
또한 Calaulate 와 같이 단순히 특정 기능을 가지고 있는 함수를 넘어서서 Context 와 데이터의 평가 순서 및 방법 등 상황에 따라 다르게 해석되기에 잘 알고 사용해야 하는 함수들이 많이 있습니다. 이는 대부분의 ~X 함수(테이블 함수) 역시 마찬가지로 생각지도 못한 결과를 만들어내서 저를 많이 당황하게 만들었었습니다.
그래서 저는 이 블로그를 통해 DAX 의 필수적인 기본 개념들과 복잡한 합수의 손쉬운 활용에 대해 다루고자 합니다. 그리고 여력이 된다면(속도와 구조화를 포함한) 여러 데이터 환경에서의 효율적인 함수 선택에 대해서도 이야기 하고자 합니다. 특히 DAX 의 개념은 DAX 에 깊게 입문하기 전에 꼭 익혀야 하는 개념이기에 제일 먼저 다루려고 합니다.
문제는 제가 정말 여러가지 업무를 하고 있는지라 시간이 많지 않아서 업로드 속도가 빠르지 않을 수 있다는 점이 있는데 많은 분들의 격려와 채찍(?)이 있다면 더 열심히 업로드 하지 않을까 하는 생각이 듭니다.(댓글과 반응이 필수라는 이야기입니다.ㅋ)
그럼 조만간 첫번째 글 " Row Contest 와 Filter Context" 로 찾아 뵙겠습니다.
새해 복 많이 받으세요
'Power BI 글모음 > Power BI DAX-M Query' 카테고리의 다른 글
어려운 특수문자(Special Characters) 전처리를 한번에... By 파워쿼리 (0) | 2025.01.15 |
---|---|
Excel Power Query 엑셀 파워 쿼리 소개 & [레코드] 입력 (1) | 2025.01.13 |
DAX 의 핵심 개념 Row Context 와 Filter Context (1) | 2025.01.03 |