목차
개요
Power BI Desktop에서 많은 종류의 데이터를 분석하거나 시각화하는 과정에서 다양한 종류의 측정값을 만들게 되는데, 어느 순간 측정값이 서로 섞이면서 관리하기가 어려워지기도 합니다.
특히 테이블이 많거나 테이블의 열이 많을수록, 그리고 측정값을 만들 때 기존 측정값을 이용하면서, 각각의 측정값이 어떤 목적으로 만들어졌는지 시간이 지나면서 곧 잊힙니다.
그래서 명시적으로 구분하기 위해 측정값 이름에 이를 반영하기도 합니다.
측정값을 목적에 따라 분류해서 관리하는 가장 기본적인 방법은 측정값을 담고 있는 테이블을 만드는 것입니다.
이번 포스트는 측정값을 위한 새로운 테이블을 만드는 과정을 설명하고, 이렇게 테이블에 측정값이 저장되어 있을 때, 기존 DAX 식에 영향이 있는지 살펴보도록 할게요.
앞서 평균을 구하는 포스트가 있었습니다. 여기에서 사용한 SHOP 테이블, 측정값을 기반으로 있으니 참고하세요.
Power BI DAX 기초 – DATESINPERIOD 이동 평균값 구하기
Power BI DAX 기초 – DATESINPERIOD 이동 평균값 구하기
목차 개요 캘린더 테이블을 이용해 날짜 정보를 갖는 테이블에서 누적값 구하는 DAX 식에 이전 포스트에서 다루었습니다. 조금씩 캘린더 테이블 및 시간 인텔리전스 DAX 함수에
brightsomuch.tistory.com
만들어진 측정값 리스트 보기
테이블에 측정값을 만들면 여러 가지 방법으로 무엇이 측정값인지 알 수 있습니다.
보고서 보기. 테이블 보기
보고서 보기 또는 테이블 보기를 선택하면 오른쪽 데이터 창에 테이블의 열 및 측정값 정보를 볼 수 있습니다.
측정값은 “계산기” 아이콘을 갖고 있기 때문에, 무엇이 측정값인지 바로 알 수 있죠.
모델 보기
모델 보기를 선택하면 데이터 패널에 테이블과 모델을 볼 수 있습니다.
여기에서 모델을 선택하면 테이블별로 만들어진 측정값 또는 해당 문서의 모든 측정값도 알 수 있습니다.
측정값 테이블 만들기
빈 테이블 만들기
빈 테이블을 만들어 볼게요.
홈 메뉴에서 “데이터 입력”을 선택합니다.
그러면 테이블 만들기 창이 새로 뜨는데, 이름에 만들고자 하는 테이블 이름을 넣고 “로드”를 선택합니다.
참고로 테이블 이름은 나중에 수정이 가능합니다. 이름 중간에 공백이 있어도 상관없어요. 다만 Power BI의 예약된 키워드는(예, Measures) 이름으로 사용할 수 없습니다.
테이블이 생성되면 오른쪽 데이터 패널 쪽에 열1을 갖고 있는 MeasureTable을 볼 수 있습니다.
열1을 지우면 비어있는 테이블이 되므로 MeaureTable도 같이 지워지니 최소 하나의 측정값을 만들어 놓은 다음 열1을 지워야 합니다.
측정값 이동
SHOP 테이블에 있는 측정값 [Sum of Price]를 새로 만든 MeasureTable로 이동을 하도록 하겠습니다.
홈 테이블 변경을 통해 측정값 [Sum of Price]이 MeasureTable로 이동한 결과는 데이터 패널을 통해 알 수 있습니다.
새로 생성한 MeasureTable에 측정값들을 계속 만들 수 있습니다.
측정값 [Sum of Price], [Count of Price]를 아래 식으로 추가했습니다.
- Sum of Price = SUM (SHOP [Price])
- Count of Price = COUNT(SHOP [Price])
측정값 식은 SHOP 테이블에서 만들 때와 차이가 없습니다.
즉, 측정값이 저장되는 테이블에 상관없이 항상 동일한 식을 갖게 됩니다.
테이블에서 열1 삭제
열1은 빈 테이블을 만들 때 생성되었습니다. 테이블에 최소 하나 이상의 열이 필요하기에 존재했었죠.
측정값이 하나 이상 있을 때, 열1은 필요 없습니다. 아래에서 볼 수 있듯이 “모델에서 삭제”를 통해 없앨 수 있습니다.
측정값 테이블에서 측정값 생성
새로 만든 측정값을 위한 테이블 MeasureTable에서 바로 측정값을 만들 수도 있습니다.
MeasureTable을 선택한 후 마우스 오른쪽 키를 누르면 메뉴가 나오고, “새 측정값”을 선택합니다.
그리고 측정값 [Average of Price] 식을 쓰는 과정에서, 자동 완성 기능에 의해서 사용 가능한 측정값 리스트를 볼 수 있습니다.
- Average of Price = DIVIDE([Sum of Price], [Count of Price])
즉, 측정값은 테이블 위치에 상관없이 유일하고, 어디에서든 바로 참조할 수 있습니다.
측정값 시각적 개체에서 사용
세 개의 테이블에서 가져온 정보를 활용해서 시각적 개체 테이블에 한 번에 모아서 볼 수 있습니다.
즉, 측정값이 SHOP 테이블이 아닌 MeasureTable에 있어도 차이는 발생하지 않습니다.
또한 모델 보기를 보면 MeasureTable은 다른 테이블과 떨어져 있지만, MearsureTable 안의 정보는 모두 측정값이어서, 모델 관계에 영향을 받지 않습니다.
테이블에 폴더 만들기
측정값을 한 단계의 폴더로 구분해서 보이게 할 수 있습니다.
실제로 폴더를 생성하거나 측정값에 폴더 정보가 들어가는 것은 아닙니다. 단지 그렇게 보이는 것뿐입니다.
모델 보기에서 데이터의 모델 탭에서 측정값을 선택하면 속성 정보를 수정할 수 있습니다. 여기에 표시 폴더가 보입니다.
표시 폴더 입력에 구분하고자 하는 폴더 이름을 넣으면 됩니다.
예로, 측정값 [Count of Price]와 [Sum of Pirce]의 표시 폴더에 “PRICE”라고 입력하면, 이처럼 폴더 이름 PRICE 아래 두 개의 측정값이 보이게 됩니다.
마치며
측정값만을 담고 있는 새로운 테이블은 분명 측정값 관리에 도움을 줄 수 있습니다. 그러나 이는 개인별로 큰 차이가 있는 것 같아요. 특히 측정값을 만들 때 사용한 열 정보가 있는 테이블에 만드는 것이 오히려 관련성 측면에서 유리할 수 있거든요.
그래서 개인적으로도 모든 측정값을 따로 테이블로 관리를 하고 있지 않습니다.
다만, 측정값끼리 연관성이 높은 경우가 있어요. 측정값을 참고해서 새로운 측정값을 만드는데, 이런 측정값들이 서로 다른 테이블의 열을 참고할 수 있거든요.
복잡해서 기억해 두어야 할 측정값, 목적이 분명해 따로 모아두면 나중에 활용하기가 편한 측정값. 이런 경우는 테이블 폴더를 만들어 따로 모아둡니다.
측정값의 테이블 이동은 상당히 용이하고, 측정값 식에 전혀 영향을 주지 않기 때문에, 필요에 따라 위치를 정해두고 관리할 수 있어요.
테이블 만들어 관리하는 방법을 소개했으니, 한번 해 보고 기억해 두면 좋을 듯합니다. 지금 당장은 아니어도, 추후 필요한 경우가 있을 것 같네요.
'Power BI' 카테고리의 다른 글
Power BI 매개변수 동적 범례 활용하기 (0) | 2024.07.26 |
---|---|
Power BI DAX 기초 – 캘린더 연결할 때 날짜 형식 일치 (0) | 2024.07.25 |
Power BI DAX 기초 – DATESINPERIOD 이동 평균값 구하기 (2) | 2024.07.23 |
Power BI DAX 기초 – DATESYTD 연도별 누적값 구하기 (3) | 2024.07.22 |
Power BI DAX 기초 – 캘린더 이용 누적값 구하기 (0) | 2024.07.21 |