혼란스러운 데이터를 실행 가능한 인사이트로: 분석가가 Power BI, DAX, 및 Dashboards를 활용하는 방법

발행: (2026년 2월 7일 오전 04:10 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

분석 워크플로우 (전체 그림)

대부분의 Power BI 프로젝트는 다음 흐름을 따릅니다:

Raw Data → Cleaning (Power Query) → Data Model → DAX Measures → Dashboards → Decisions

📊 시각적 흐름 다이어그램 (개념적)

[ Excel / CSV / SQL / APIs ]
            |
            v
       [ Power Query ]
            |
            v
       [ Data Model ]
            |
            v
            [ DAX ]
            |
            v
       [ Dashboards ]
            |
            v
     [ Business Actions ]

Step 1 – Load Messy Data into Power BI

현실 세계에서는 데이터에 다음과 같은 문제가 흔히 발생합니다:

  • ❌ 중복 행
  • ❌ 빈 값
  • ❌ 잘못된 데이터 유형(텍스트로 저장된 숫자)
  • ❌ 일관되지 않은 열 이름
  • ❌ 다양한 날짜 형식

데이터 로드 방법

  1. Power BI Desktop에서 Home → Get Data를 클릭합니다.
  2. Excel / CSV / SQL Server(또는 다른 소스)를 선택합니다.
  3. Transform Data를 클릭합니다 (아직 Load는 클릭하지 마세요).

이렇게 하면 Power Query가 열리며, 여기서 데이터 정리를 수행합니다.

단계 2 – 데이터 정리 및 준비 (Power Query)

Power Query는 스테이징 영역입니다. 여기서 수정한 내용은 반복 가능하고 자동화됩니다.

일반적인 정리 작업

문제Power Query 수정
중복Remove Rows → Remove Duplicates
공백이 포함된 텍스트Transform → Format → Trim
잘못된 데이터 유형Change column type
지저분한 열 이름Rename columns
Null 값Replace values / Filter

예시

Customer   | Sales     | Order Date
 John Doe  | "1,000"   | 02/01/24
 John Doe  | "1000 "   | 2024-01-02

Customer | Sales | Order Date
John Doe | 1000  | 2024-01-02

3단계 – 적절한 데이터 모델 만들기

좋은 데이터 모델 = 성능 향상 + DAX 작성 용이

일반적인 테이블

  • Sales (사실 테이블)
  • Customers (차원)
  • Products (차원)
  • Date (캘린더 테이블)

스타 스키마 (권장)

Customers ──┐
            ├── Sales ── Date
Products ───┘

모델링 모범 사례

  • ✅ 하나의 사실 테이블, 여러 차원 테이블
  • ✅ 일방향 관계 (특별한 필요가 없는 한)
  • ✅ 항상 Date 테이블 사용
  • ❌ 필요하지 않은 경우 다대다 관계 피하기

DAX 계산은 관계를 통해 데이터를 올바르게 필터링하는 데 의존합니다.

Step 4 – DAX 측정값 작성 (초급 → 기술적)

DAX = Data Analysis Expressions – Power BI가 메트릭을 계산하는 데 사용하는 언어입니다.

간단히 시작하기

Total Sales =
SUM ( Sales[Amount] )
Total Orders =
COUNTROWS ( Sales )
Total Customers =
DISTINCTCOUNT ( Customers[CustomerID] )

약간 더 기술적: 시간 지능

Sales MTD =
CALCULATE (
    [Total Sales],
    DATESMTD ( 'Date'[Date] )
)
Sales Last Month =
CALCULATE (
    [Total Sales],
    DATEADD ( 'Date'[Date], -1, MONTH )
)
MoM Growth % =
DIVIDE (
    [Sales MTD] - [Sales Last Month],
    [Sales Last Month]
)

DAX 해킹 팁

  • 가능하면 측정값을 사용하고, 계산된 열은 사용하지 마세요.
  • 시간 지능 함수용으로 항상 날짜 테이블을 생성하세요.
  • DIVIDE()를 사용하고 / 대신 사용하여 0으로 나누는 오류를 방지하세요.
  • 한 번에 하나의 측정값을 만들고 테스트하세요.

Step 5 – 질문에 답하는 대시보드 만들기

좋은 대시보드는 다음에 답합니다:

  1. What는 무슨 일이 일어나고 있나요?
  2. How는 추세가 어떻게 진행되고 있나요?
  3. Where는 어디에서 행동해야 하나요?

예시 레이아웃

+----------------------------------------+
| KPI Cards: Sales, Orders, Growth       |
+----------------------------------------+
| Sales Trend (Line Chart)                |
+----------------------------------------+
| Sales by Product | Sales by City         |
+----------------------------------------+
| Filters (Date, Region)                  |
+----------------------------------------+

시각적 모범 사례

  • KPI Cards → 요약 지표
  • Line charts → 시간에 따른 추세
  • Bar charts → 카테고리별 비교
  • Slicers → 사용자 인터랙션(필터)
  • 색상을 간단하고 consistent하게 유지

대시보드에 긴 설명이 필요하다면, 아마도 너무 복잡한 것입니다.

6단계 – 인사이트를 행동으로 전환

대시보드는 행동을 변화시킬 때에만 유용합니다.

예시 워크플로우

  1. 📉 매출 감소 나이로비에서
  2. ➡️ 필터 제품별
  3. ➡️ 재고 부족 식별
  4. ➡️ 공급망 문제 해결
  5. ➡️ 매출 회복

데이터가 영향을 미치는 순간입니다.

실습

연습 1 – 데이터 정리

  • 중복 제거
  • 데이터 유형 수정
  • 열 이름 바꾸기
  • null 행 제거

연습 2 – DAX 측정값

Total Sales = SUM ( Sales[Amount] )
Total Orders = COUNTROWS ( Sales )
Average Order Value = DIVIDE ( [Total Sales], [Total Orders] )

연습 3 – 대시보드

다음 요소를 포함하는 간단한 보고서를 만드세요:

  • 1개 KPI 카드
  • 1개 추세(선) 차트
  • 1개 막대 차트
  • 1개 슬라이서(예: 날짜 또는 지역)

Power BI + DAX Cheat Sheet

Power Query

작업동작
중복 제거Home → Remove Rows → Remove Duplicates
데이터 유형 변경열 머리글 클릭 → Data Type
공백 제거Transform → Format → Trim
열 분할Transform → Split Column

DAX

목표함수
값 합계SUM()
행 개수COUNTROWS()
고유 개수DISTINCTCOUNT()
필터 적용CALCULATE()
시간 지능DATESMTD(), DATEADD(), 등
안전한 나눗셈DIVIDE()

Power BI 인텔리전스

유용한 DAX 함수

  • DATESMTD() – 현재 필터 컨텍스트에서 월 누계까지의 날짜 열을 포함하는 테이블을 반환합니다.
  • DATEADD() – 지정된 간격 수만큼 이동된 날짜 열을 포함하는 테이블을 반환합니다.

안전한 나눗셈

  • DIVIDE() – 나눗셈을 수행하고, 나누는 값이 0일 경우 대체 결과를 반환합니다.

모델링 가이드라인

  • Use a Date table – 날짜 로직을 중앙 집중화하고 시계열 인텔리전스 기능을 활성화합니다.
  • Prefer a star schema – 모델을 단순하고, 성능이 좋으며, 이해하기 쉽게 유지합니다.
  • Avoid bi‑directional relationships unless they are truly required.

지금까지 배운 교훈

Power BI는 단순히 예쁜 차트를 만드는 것이 아닙니다.
신뢰할 수 있는 데이터 파이프라인을 구축하여 더 나은 의사결정을 가능하게 하는 것입니다.

진정한 역량은 DAX나 시각화에만 있는 것이 아니라, 비즈니스가 답하려는 질문이 무엇인지 이해하는 것입니다.

Power BI를 처음 사용하는 경우

  • 먼저 대충 시작 – 데이터가 완벽하지 않더라도 모델에 데이터를 가져오세요.
  • 작게 구축 – 먼저 간단한 시각화와 측정값을 만드세요.
  • 한 번에 한 단계씩 개선 – 데이터 품질, 모델 설계, 시각화를 반복적으로 다듬어 가세요.

데이터가 완벽하지 않아도 실제 분석을 수행하고 있으며, 여전히 실행 가능한 인사이트를 도출할 수 있습니다.

Back to Blog

관련 글

더 보기 »