다음을 통해 공유


자습서: Power BI Desktop에서 차원 모델을 통해 깔끔한 보고서 작성

적용 대상: Power BI Desktop Power BI 서비스

이 자습서에서는 차원 모델로 시작하여 45분 만에 깔끔한 보고서를 완성하는 단계를 처음부터 끝까지 설명합니다.

AdventureWorks의 직원인 여러분은 상사에게 최신 매출 수치에 관한 보고서를 제출해야 합니다. 보고서에는 다음 사항을 요약해야 합니다.

  • 2019년 2월에 매출이 가장 높은 일자는 무엇입니까?
  • 가장 큰 성공을 거둔 국가/지역은 어디인가요?
  • 회사에서 지속적으로 투자해야 하는 제품 범주 및 재판매인 비즈니스 유형은 무엇입니까?

AdventureWorks 판매 샘플 Excel 통합 문서를 사용하여 이 보고서를 순식간에 작성할 수 있습니다. 최종 보고서의 모양은 다음과 같습니다.

완성된 AdventureWorks 보고서의 스크린샷.

완성된 보고서를 보려면 완성된 Power BI .pbix 파일을 다운로드하세요.

참고 항목

SQL 데이터베이스의 데이터를 사용하려는 경우 GitHub 리포지토리에서 다운로드 가능한 AdventureWorks SQL 샘플 데이터베이스에 대한 링크를 제공하는 AdventureWorks 샘플 데이터베이스 문서를 참조하세요. SQL 데이터베이스를 사용하는 경우 이 자습서의 다양한 단계를 수정해야 합니다.

이제 시작하겠습니다.

이 자습서에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • 몇 가지 변환을 사용하여 데이터 준비
  • 제목, 세 개의 시각적 개체 및 슬라이서를 사용하여 보고서 작성
  • 동료와 공유할 수 있도록 Power BI 서비스에 보고서 게시

필수 조건

데이터 가져오기: 샘플 다운로드

  1. AdventureWorks 판매 샘플 Excel 통합 문서를 다운로드합니다.

  2. Power BI Desktop을 실행합니다.

  3. 리본의 데이터 섹션에서 Excel을 선택합니다.

  4. 샘플 통합 문서를 저장한 위치로 이동하고 열기를 선택합니다.

데이터 준비

탐색기에서 데이터를 변환 또는 로드하는 옵션을 사용할 수 있습니다. 탐색기는 올바른 범위의 데이터가 있는지 확인할 수 있도록 데이터의 미리 보기를 제공합니다. 숫자 데이터 형식은 기울임꼴로 표시됩니다. 이 자습서에서는 데이터를 로드하기 전에 먼저 변환하겠습니다.

모든 테이블을 선택하고 데이터 변환을 선택합니다. _data로 끝나는 시트는 선택하지 않아야 합니다.

탐색기 테이블 로드 스크린샷.

열의 데이터 형식이 다음 표의 데이터 형식과 일치하는지 확인합니다. Power BI가 데이터 형식을 검색할 수 있도록 하려면 쿼리를 선택한 다음 하나 이상의 열을 선택합니다. 변환 탭에서 데이터 형식 검색을 선택합니다. 검색된 데이터 형식을 변경하려면 탭에서 데이터 형식을 선택한 다음 목록에서 적절한 데이터 형식을 선택합니다.

열의 데이터 형식 확인 스크린샷.

쿼리 데이터 형식
고객 CustomerKey 정수
날짜 DateKey 정수
날짜 날짜
MonthKey 정수
Product ProductKey 정수
표준 가격 10진수
정가 10진수
재판매인 ResellerKey 정수
Sales SalesOrderLineKey 정수
ResellerKey 정수
CustomerKey 정수
ProductKey 정수
OrderDateKey 정수
DueDateKey 정수
ShipDateKey 정수
SalesTerritoryKey 정수
주문 수량 정수
단가 10진수
소계 10진수
Unit Price Discount Pct 백분율
제품 표준 비용 10진수
Total Product Cost 10진수
매출액 10진수
SalesTerritory SalesTerritoryKey 정수
판매 주문 SalesOrderLineKey 정수

으로 돌아가서 닫기 및 적용을 선택합니다.

Power Query 닫기 및 적용 단추 스크린샷.

데이터 모델링

로드한 데이터는 보고서를 작성하는 데 사용할 준비가 거의 다 된 상태입니다. 데이터 모델을 살펴보고 몇 가지 사항을 변경하겠습니다.

왼쪽에서 모델 뷰를 선택합니다.

Power BI Desktop의 모델 뷰 선택 스크린샷.

데이터 모델은 아래 이미지처럼 각 테이블이 상자 안에 들어 있는 모양입니다.

시작하는 데 사용할 데이터 모델의 스크린샷.

관계 만들기

이 모델은 데이터 웨어하우스에서 볼 수 있는 일반적인 별모양 스키마입니다(별과 비슷함). 별의 중심에는 팩트 테이블이 있습니다. 주변 테이블은 팩트 테이블과 관계를 갖는 테이블로, 차원 테이블이라고 합니다. 팩트 테이블은 판매 금액, 제품 표준 비용 등 판매 거래에 대한 수치 정보를 포함합니다. 차원은 다음과 같은 사항을 분석할 수 있도록 컨텍스트를 제공합니다.

  • 판매된 제품
  • 구매한 고객...
  • 판매한 재판매인
  • 판매가 이루어진 영업 지역

자세히 살펴보면 Date 테이블을 제외하고 모든 차원 테이블이 팩트 테이블과 관계를 갖고 있는 것을 알 수 있습니다. Date에 몇 가지 관계를 추가해 보겠습니다. Date 테이블의 DateKey를 Sales 테이블의 OrderDateKey로 끌어 옵니다. 이렇게 함으로써 Date에서 Sales로 소위 말하는 “일대다” 관계를 만들었습니다. 이 관계는 1(‘일’을 나타냄)과 선의 양 끝에 있는 별표 *(‘다’를 나타냄)로 알 수 있습니다.

주어진 날짜에 대해 하나 이상의 판매 주문이 있으므로 이 관계는 “일대다”입니다. 각 날짜에 판매 주문이 하나만 있다면 관계는 “일대일”이 됩니다. 선 가운데에 있는 작은 화살표는 “교차 필터링 방향”을 나타냅니다. 이는 Date 테이블의 값을 사용하여 Sales 테이블을 필터링할 수 있음을 나타냅니다. 따라서 이 관계에서는 판매 주문이 접수된 시점을 분석할 수 있습니다.

Sales 테이블과 Date 테이블 간의 관계 스크린샷.

Sales 테이블에는 기한 및 배송 날짜와 같은 판매 주문과 관련된 날짜에 대한 추가 정보가 들어 있습니다. 다음과 같이 끌어서 Date 테이블에 두 개의 관계를 더 추가해 보겠습니다.

  • DateKey를 DueDateKey로
  • DateKey를 ShipDateKey로

Sales 테이블과 Date 테이블 간의 세 개의 관계 스크린샷.

OrderDateKey의 첫 번째 관계가 활성 상태임을 알 수 있습니다. 이는 실선으로 표시됩니다. 다른 두 개는 비활성 상태입니다. 이는 파선으로 표시됩니다. Power BI는 기본적으로 활성 관계를 사용하여 Sales와 Date 간의 관계를 형성합니다. 따라서 판매 금액의 합계는 기한이나 배송 날짜가 아닌 주문 날짜로 계산됩니다. 이 동작을 변경할 수 있습니다. 이 자습서의 뒷부분에 있는 혜택: DAX로 측정값 작성을 참조하세요.

키 열 숨기기

일반적인 별모양 스키마에는 팩트와 차원 간의 관계를 담고 있는 몇 가지 키가 있습니다. 보고서에서는 보통 키 열을 사용하지 않습니다. 필드 목록에 더 적은 수의 필드가 표시되고 데이터 모델을 더 사용하기 쉽도록 뷰에서 키 열을 숨기겠습니다.

모든 테이블에서 이름이 Key로 끝나는 모든 열을 숨깁니다.

열 옆에 있는 아이콘을 선택하고 보고서 뷰에서 숨기기를 선택합니다.

눈 아이콘이 있는 표시 가능 열 스크린샷.

속성 창에서 열 옆에 있는 아이콘을 선택할 수도 있습니다.

숨겨진 필드에는 눈에 취소선이 적용된 다음과 같은 아이콘이 표시됩니다.

숨겨진 눈 아이콘이 있는 필드 스크린샷.

다음 필드를 숨깁니다.

테이블 Column
고객 CustomerKey
날짜 DateKey
MonthKey
Product ProductKey
재판매인 ResellerKey
Sales CustomerKey
DueDateKey
OrderDateKey
ProductKey
ResellerKey
SalesOrderLineKey
SalesTerritoryKey
ShipDateKey
판매 주문 SalesOrderLineKey
SalesTerritory SalesTerritoryKey

이제 데이터 모델이 Sales 테이블과 다른 모든 테이블 간에 관계가 있고 모든 키 필드가 숨겨진 다음과 같은 데이터 모델이 됩니다.

숨겨진 키 열이 있는 데이터 모델 스크린샷.

계층 구조 만들기

숨겨진 열 덕분에 데이터 모델을 사용하기가 더 쉬워졌습니다. 이번에는 모델을 더욱 사용하기 쉽게 만들기 위해 몇 개의 ‘계층 구조’를 추가할 수 있습니다. 계층 구조를 사용하면 그룹화를 쉽게 탐색할 수 있습니다. 예를 들어 도시는 주/도 안에 있고, 주/도는 국가/지역 안에 있습니다.

다음과 같은 계층 구조를 만듭니다.

  1. 계층 구조에서 가장 높은 수준의(가장 덜 세분화된) 필드를 마우스 오른쪽 단추로 클릭하고 계층 구조 만들기를 선택합니다.

  2. 속성 창에서 계층 구조의 이름을 설정하고 수준을 설정합니다.

  3. 수준 변경 내용 적용을 선택합니다.

    계층 구조 속성 창 스크린샷.

계층 구조를 추가한 후에 속성 창에서 수준의 이름을 변경할 수도 있습니다. Date 테이블에서 Fiscal 계층 구조의 연도 및 분기 수준의 이름을 변경해야 합니다.

만들어야 하는 계층 구조는 다음과 같습니다.

테이블 계층 구조 이름 수준
고객 지역 국가-지역
State-Province
구/군/시
우편 번호
고객
Date Fiscal 연도(회계 연도)
분기(회계 분기)
Month
날짜
Product Products 범주
하위 범주
모델
Product
Reseller 지역 국가-지역
State-Province
구/군/시
우편 번호
재판매인
판매 주문 판매 주문 Sales Order
Sales Order Line
SalesTerritory 영업권역 그룹
국가-지역
지역

이제 데이터 모델이 다음과 같은 데이터 모델이 됩니다. 동일한 테이블을 갖고 있지만 각 차원 테이블에 계층 구조가 있습니다.

계층 구조가 있는 차원 테이블을 갖는 데이터 모델 스크린샷.

테이블 이름 바꾸기

모델링을 완료하기 위해 속성 창에서 다음 테이블의 이름을 바꿉니다.

기존 테이블 이름 새 테이블 이름
SalesTerritory Sales Territory
판매 주문 Sales Order

Excel 테이블 이름에는 공백이 포함될 수 없으므로 이 단계가 필요합니다.

이제 최종 데이터 모델이 준비되었습니다.

테이블의 이름이 바뀐 완성된 데이터 모델 스크린샷.

추가 혜택: DAX로 측정값 작성

DAX 수식 언어로 측정값을 작성하는 것은 매우 강력한 데이터 모델링 기능입니다. Power BI 설명서에서 DAX에 관해 자세히 알아볼 수 있습니다. 여기서는 기본 주문 날짜가 아닌 판매 주문의 기한을 기준으로 판매 금액 합계를 계산하는 기본적인 측정값을 작성하겠습니다. 이 측정값은 USERELATIONSHIP 함수를 사용하여 DuDate에서 측정값의 컨텍스트를 위해 Sales와 Date 간의 관계를 활성화합니다. 그런 다음 CALCULATE를 사용하여 이 컨텍스트에서 판매 금액의 합계를 계산합니다.

  1. 왼쪽에서 데이터 뷰를 선택합니다.

    왼쪽의 데이터 뷰 선택 스크린샷.

  2. 필드 목록에서 Sales 테이블을 선택합니다.

    필드 목록의 Sales 테이블 선택 스크린샷.

  3. 리본에서 새 측정값을 선택합니다.

  4. 이 측정값을 선택하거나 입력하여 기본 주문 날짜가 아닌 판매 주문의 기한을 기준으로 판매 금액 합계를 계산합니다.

    Sales Amount by Due Date = CALCULATE(SUM(Sales[Sales Amount]), USERELATIONSHIP(Sales[DueDateKey],'Date'[DateKey]))
    
  5. 커밋할 확인 표시를 선택합니다.

    확인 표시를 선택하여 DAX 측정값 커밋 스크린샷.

보고서 작성

이렇게 해서 데이터를 모델링했습니다. 이제 보고서를 만들 차례입니다. 보고서 보기로 이동합니다. 오른쪽 필드 창에 사용자가 만든 데이터 모델의 필드가 표시됩니다.

한 번에 하나의 시각적 개체를 작성하여 최종 보고서를 작성합니다.

각 시각적 개체를 나타내는 숫자가 표시된 완성된 보고서의 스크린샷.

시각적 개체 1: 제목 추가

  1. 삽입 리본에서 텍스트 상자를 선택합니다. Executive Summary – Sales Report를 입력합니다.

  2. 입력한 텍스트를 선택합니다. 글꼴 크기를 20으로 설정하고 굵게를 설정합니다.

    Executive Summary 텍스트의 서식 지정 스크린샷.

  3. 서식 텍스트 상자 창의 효과 아래에서 배경끄기로 전환합니다.

  4. 상자 크기를 한 줄에 맞게 조정합니다.

시각적 개체 2: 날짜별 판매 금액

다음으로 판매 금액이 가장 높은 월 및 연도를 표시하는 꺾은선형 차트를 만듭니다.

  1. 필드 창에서 Sales 테이블의 Sales Amount 필드를 보고서 캔버스의 빈 영역으로 끌어 옵니다. 기본적으로 Power BI는 하나의 열(Sales Amount)을 포함하는 세로 막대형 차트를 표시합니다.

  2. Date 테이블의 Fiscal 계층 구조에서 Month 필드를 끌어서 세로 막대형 차트에 놓습니다.

    각 연도에 대해 막대 하나가 있는 세로 막대형 차트 만들기 스크린샷.

  3. 시각화 창의 필드 섹션에 있는 X 축 상자에서 Fiscal Year 필드와 Fiscal Quarter 필드를 제거합니다.

    시각화 창의 필드 섹션에서 Year 필드와 Quarter 필드 제거 스크린샷.

  4. 시각화 창에서 시각화 유형을 영역형 차트로 변경합니다.

    세로 막대형 차트를 영역형 차트로 변경 스크린샷.

  5. 위의 추가 혜택 섹션에서 DAX 측정값을 추가했다면 해당 측정값을 Y 축에도 추가합니다.

  6. 서식 창을 열고 섹션을 펼치고 색상에서 Sales Amount by Due Date를 빨간색과 같이 보다 대비되는 색으로 변경합니다.

    영역형 차트로 표시된 Sales Amount by Due Date의 스크린샷.

    Sales Amount by Due Date가 Sales Amount보다 약간 뒤처지는 것을 볼 수 있습니다. 이는 차트에서 DueDateKey를 사용하는 Sales 테이블과 Date 테이블 간의 관계를 사용함을 보여 줍니다.

시각적 개체 3: 재판매인 국가-지역별 주문 수량

이번에는 지도를 만들어서 재판매인의 주문 수량 금액이 가장 높은 국가 또는 지역을 확인해 보겠습니다.

  1. 필드 창에서 Reseller 테이블의 Country-Region 필드를 보고서 캔버스의 빈 영역으로 끌어 옵니다. Power BI가 지도를 만듭니다.

  2. Sales 테이블에서 Order Quantity 필드를 끌어서 지도 위에 놓습니다. Country-Region위치에 있고 Order QuantityBubble size에 있는지도 확인합니다.

    국가/지역별 주문 수량 지도 스크린샷.

시각적 개체4: 제품 범주 및 재판매인 비즈니스 유형별 판매 금액

다음으로, 열 차트를 만들어서 어느 제품을 어느 유형의 재판매인 비즈니스가 판매하고 있는지 살펴보겠습니다.

  1. 직접 만든 두 개의 차트를 캔버스의 위쪽 절반으로 끌어서 나란히 놓습니다. 캔버스 왼쪽에 공간을 남겨 둡니다.

  2. 보고서 캔버스의 아래쪽에서 빈 영역을 선택합니다.

  3. 필드 창에서 SalesSales Amount, ProductProduct Category, ResellerBusiness Type을 선택합니다. Category 및 Business Type이 행에 있고 Sales Amount가 값으로 선택되어 있는지 확인 스크린샷.

    Power BI는 묶은 세로 막대형 차트를 자동으로 만듭니다. 시각화를 행렬로 변경합니다.

    묶은 세로 막대형 차트를 행렬로 변경 스크린샷.

  4. 에서 비즈니스 유형 필드를 끌어서 범주 아래에 놓습니다.

  5. 행렬이 선택된 상태에서, 필드 창의 Business Type 유형 아래에서 모두 선택을 선택하고 [해당 없음] 상자의 선택을 취소합니다.

    해당 없음 비즈니스 유형 필터링 스크린샷.

  6. 위쪽 두 개의 차트 아래 공간에 맞는 넓이로 채워지도록 행렬을 끕니다.

    행렬의 너비를 늘려서 보고서 채우기 스크린샷.

  7. 행렬의 서식 창에서 조건부를 검색합니다. 셀 요소 섹션에서 데이터 막대를 켭니다. fx 옵션을 선택하고 양수 막대를 밝은색으로 설정합니다. 확인을 선택합니다.

  8. 행렬을 끌어 전체 영역을 채우도록 Sales Amount 열의 너비를 늘립니다.

    Sales Amount에 대한 데이터 막대를 포함하는 행렬의 스크린샷.

Bikes의 판매 금액이 가장 높고, Value Added Resellers가 가장 많이 판매했으며, 그 뒤를 Warehouses가 바짝 뒤쫓고 있는 것을 볼 수 있습니다. Components의 경우 Warehouses가 Value Added Resellers가 더 많이 판매합니다.

시각적 개체 5: 회계 달력 슬라이서

슬라이서는 보고서 페이지의 시각적 개체를 특정 선택 항목으로 필터링하는 데 유용한 도구입니다. 여기서는 각 월, 분기 및 연도의 성과로 범위를 좁히는 슬라이서를 만들 수 있습니다.

  1. 필드 창에서 Date 테이블의 Fiscal 계층 구조를 선택하여 캔버스 왼쪽의 빈 영역으로 끌어 옵니다.

  2. 시각화 창에서 슬라이서를 선택합니다.

    보고서 판매 달력 슬라이서 추가 스크린샷.

  3. 시각화 창의 필드 섹션에서 QuarterDate를 제거하여 YearMonth만 남깁니다.

    회계 슬라이서에서 분기 및 날짜 제거 스크린샷.

이제 관리자가 특정 월의 데이터를 보여 달라고 요청하면 슬라이서를 사용하여 연도 간에 전환하거나 각 연도의 특정 월 간에 전환할 수 있습니다.

추가 크레딧: 보고서의 서식 지정

보고서에서 몇 가지 간단한 서식을 지정하여 보고서를 세련되게 만들려면 몇 가지 간단한 단계를 수행합니다.

테마

  • 보기 리본에서 테마를 선택하고 테마를 Executive로 변경합니다.

    Executive 테마 선택 스크린샷.

시각적 개체 꾸미기

시각화 창의 서식 탭에서 다음과 같이 변경합니다.

시각화 창의 서식 탭 스크린샷.

서식 창의 검색 상자에 변경하려는 설정을 입력하면 빠르게 찾을 수 있습니다.

시각적 개체 2, 날짜별 판매 금액

  1. 시각적 개체 2, 날짜별 판매 금액을 선택합니다.

  2. DAX 측정값을 추가하지 않았다면 제목 섹션에서 텍스트를 "주문 날짜별 판매 금액"으로 변경합니다.

    DAX 측정값을 추가했다면 텍스트를 "주문 날짜/기한별 판매 금액"으로 변경합니다.

    축과 범례에도 제목이 있을 수 있으므로 시각적 개체 자체에 대한 제목 섹션을 가져와야 합니다.

    서식 창의 제목 섹션 스크린샷.

  3. 텍스트 크기를 16pt로 설정합니다.

  4. 일반 탭에서 그림자켜기로 전환합니다.

시각적 개체 3, 재판매인 국가-지역별 주문 수량

  1. 시각적 개체 3, 재판매인 국가-지역별 주문 수량을 선택합니다.
  2. 지도 설정 섹션에서 스타일회색조로 변경합니다.
  3. 일반 탭의 제목 섹션에서 텍스트를 "Order Quantity by Reseller Country-Region"으로 변경합니다.
  4. 텍스트 크기16pt로 설정합니다.
  5. 또한 일반 탭에서 그림자켜기로 전환합니다.

시각적 개체4, 제품 범주 및 재판매인 비즈니스 유형별 판매 금액

  1. 시각적 개체4, 제품 범주 및 재판매인 비즈니스 유형별 판매 금액을 선택합니다.
  2. 일반 탭의 제목 섹션에서 텍스트를 "Sales Amount by Product Category and Reseller Business Type"으로 변경합니다.
  3. 텍스트 크기16pt로 설정합니다.
  4. 또한 일반 탭에서 그림자켜기로 전환합니다.

시각적 개체 5, 회계 달력 슬라이서

  1. 시각적 개체 5, 회계 달력 슬라이서를 선택합니다.
  2. 슬라이서 설정 섹션의 선택에서 "모두 선택" 표시 옵션을 켜기로 전환합니다.
  3. 슬라이서 머리글 섹션에서 텍스트 크기16pt로 설정합니다.

제목의 배경 셰이프 추가

  1. 삽입 리본에서 셰이프>사각형을 선택합니다.

  2. 사각형을 페이지 위쪽에 배치하고 페이지의 너비 및 제목의 높이에 맞게 늘입니다.

  3. 스타일 창의 테두리 섹션에서 투명도100%로 변경합니다.

  4. 채우기 섹션에서 채우기 색테마 색 5 #6B91C9(파란색)로 변경합니다.

  5. 서식 리본에서 뒤로 보내기>맨 뒤로 보내기를 선택합니다.

    서식 리본, 맨 뒤로 보내기 메뉴 옵션의 스크린샷.

  6. 시각적 개체 1의 제목 텍스트를 선택하고 글꼴 색흰색으로 변경합니다.

완성된 보고서

슬라이서에서 FY2019를 선택합니다.

완성된 최종 보고서의 스크린샷.

요약하면, 해당 보고서는 다음과 같은 관리자의 가장 중요한 질문에 답을 제공합니다.

  • 2019년 2월에 매출이 가장 높은 일자는 무엇입니까? 2월 25일입니다. 금액은 $253,915.47입니다.

  • 가장 큰 성공을 거둔 국가/지역은 어디인가요? 미국입니다. 주문 수량은 132,748개입니다.

  • 회사에서 지속적으로 투자해야 하는 제품 범주 및 재판매인 비즈니스 유형은 무엇입니까? 회사가 지속적으로 투자해야 하는 분야는 Bikes 범주와 Value Added Reseller 및 Warehouse 재판매인 비즈니스입니다.

보고서 저장

  • 파일 메뉴에서 저장을 선택합니다.

Power BI 서비스에 게시하여 공유

관리자 및 동료와 보고서를 공유하려면 Power BI 서비스에 게시합니다. Power BI 계정이 있는 동료와 공유하면 동료는 보고서와 상호 작용할 수 있지만 변경 내용을 저장할 수는 없습니다.

  1. Power BI Desktop의 리본에서 게시를 선택합니다.

  2. Power BI 서비스에 로그인해야 할 수 있습니다. 아직 계정이 없으면 평가판에 등록할 수 있습니다.

  3. Power BI 서비스에서 내 작업 영역과 같은 대상을 선택한 다음, 선택을 선택합니다.

  4. Power BI에서 '파일 이름' 열기를 선택합니다. 완성된 보고서가 브라우저에서 열립니다.

  5. 보고서 위쪽에서 공유를 선택하여 보고서를 다른 사용자와 공유합니다.

추가 질문이 있으신가요? Power BI 커뮤니티를 이용하세요.