본문 바로가기
● Data Visualization

경영정보시각화능력 실기 마스터 가이드 - Power BI 문제별 정답·팁·함수

by DataFolio.lab 2025. 10. 27.
반응형

 

 

경영정보시각화능력 실기 마스터 가이드 - Power BI 문제별 정답·팁·함수


🎯 시험 핵심 전략

합격 공식

파워쿼리(30점) + 기본차트(30점) + 기본DAX(10점) = 70점 합격

시간 배분 (70분)

작업 시간 득점
문제1 파워쿼리 15분 20점
문제2 단순차트 20분 30점
문제3 복합차트 25분 30점
문제1 DAX 측정값 8분 10점
검토·저장 2분 -

전략: DAX 측정값은 마지막에 풀기, 막히면 과감히 스킵!

반응형

📚 파워쿼리 문제 & 정답

문제 유형 1: 데이터 가져오기

문제: Excel 파일에서 특정 시트 데이터 가져오기

정답:

  1. 홈 탭 → Excel 통합 문서
  2. 파일 선택 → 필요한 시트 체크
  3. 데이터 변환 클릭 (바로 로드 아님!)

문제 유형 2: 쿼리 병합 (조인) ⭐ 필수

문제 A: 기존 테이블에 필드 추가

<지자체별_방문자수> 테이블에 
<행정구역코드> 테이블의 [광역지자체명] 필드를 추가하라
조인 종류: 왼쪽 외부

정답:

  1. <지자체별_방문자수> 테이블 선택
  2. 홈 탭 → 쿼리 병합 → 쿼리 병합 (새 항목으로 병합 아님!)
  3. 위: 지자체별_방문자수 / 아래: 행정구역코드
  4. 조인 기준 필드 클릭 (예: 시군구코드 = 행정동코드)
  5. 조인 종류: 왼쪽 외부 선택
  6. 확인
  7. 새로 생긴 필드 오른쪽 화살표 클릭
  8. "원래 열 이름을 접두사로 사용" 체크 해제 ⚠️
  9. 필요한 필드만 체크 (광역지자체명)
  10. 확인

문제 유형 3: 쿼리 추가 (유니온) ⭐ 필수

문제: 여러 테이블을 세로로 합치기

정답:

  1. 홈 탭 → 쿼리 추가 → 쿼리 추가
  2. 두 개 이상의 테이블 선택
  3. 합칠 테이블들 선택 후 확인

주의: 컬럼명이 동일해야 정상 병합!


문제 유형 4: 피벗 해제 ⭐ 필수

문제: 날짜 컬럼들(1월, 2월, 3월...)을 하나의 열로 변환

정답:

  1. 날짜 컬럼들 선택 (Ctrl + 클릭)
  2. 변환 탭 → 열 피벗 해제
  3. 생성된 "특성"과 "값" 필드명을 요구사항대로 변경
    • 특성 → "월" 또는 "이동통신" 등
    • 값 → "방문자수" 등

문제 유형 5: 그룹화 ⚠️ 제1회 출제

문제: 특정 필드 기준으로 데이터 그룹화하여 집계

정답:

  1. 변환 탭 → 그룹화
  2. 그룹 기준 필드 선택
  3. 작업: 합계, 평균, 개수 등 선택
  4. 새 열 이름 입력
  5. 확인

문제 유형 6: 구분 기호로 텍스트 추출 ⚠️⚠️ 제1회 출제

문제: "2023.csv"에서 '.' 앞의 "2023"만 추출

정답 방법 1 (추천):

  1. 추출할 필드 선택
  2. 변환 탭 → 추출 → 구분 기호 앞의 텍스트
  3. 구분 기호에 . 입력
  4. 확인

정답 방법 2:

  1. 변환 탭 → 열 분할 → 구분 기호 기준
  2. . 입력 → 가장 왼쪽 구분 기호
  3. 확인
  4. 필요없는 열 삭제

문제 유형 7: 열 병합 ⚠️⚠️ 제1회 함정 문제

문제: 여러 열을 병합하여 'Key' 열 생성

정답:

  1. 병합할 열들 선택 (Ctrl + 클릭)
  2. 변환 탭 → 열 병합
  3. 구분 기호 선택 (공백, 쉼표 등)
  4. ⚠️⚠️ "원본 열 유지" 옵션 필수 체크!
  5. 새 열 이름 입력 (예: Key)
  6. 확인

함정: 원본 열 유지 안 하면 원본이 사라짐!


문제 유형 8: 조건부 열 (IF 조건) ⭐ 필수

문제:

[광역지자체명]이 "서울특별시", "경기도", "인천광역시"면 "수도권"
그 외는 "지방권"

정답:

  1. 열 추가 탭 → 조건 열
  2. 새 열 이름 입력 (예: 권역)
  3. 조건 입력:
    • IF [광역지자체명] = "서울특별시" THEN "수도권"
    • 절 추가 버튼 클릭
    • ELSE IF [광역지자체명] = "경기도" THEN "수도권"
    • 절 추가 버튼 클릭
    • ELSE IF [광역지자체명] = "인천광역시" THEN "수도권"
    • ELSE: "지방권"
  4. 확인
  5. 데이터 형식을 "텍스트"로 변경

문제 유형 9: 기타 필수 작업

빈 행 채우기 ⚠️ 제1회 출제

정답: 빈 필드 선택 → 변환 → 채우기 → 아래로

1행을 열 머리글로 ⚠️ 제1회 출제

정답: 홈 → 첫 행을 머리글로 사용

로드 사용 해제

정답: 쿼리 패널에서 테이블 우클릭 → 로드 사용 (체크 해제)

데이터 타입 변경

정답: 필드 선택 → 홈 탭 → 데이터 형식 → 정수/10진수/텍스트/날짜

필드명 변경

정답: 필드 머리 더블클릭 → 이름 입력

열 삭제

  • 특정 열만 남기기: 남길 열들 선택 (Ctrl+클릭) → 우클릭 → 다른 열 제거
  • 특정 열 삭제: 삭제할 열 선택 → 우클릭 → 제거

문제 유형 10: 관계 설정

문제: 테이블 간 관계 설정

정답:

  1. 모델 보기 클릭
  2. <테이블A>의 [필드A]를 드래그하여 <테이블B>의 [필드B]에 놓기
  3. 관계선 더블클릭하여 확인:
    • 카디널리티: 다대일(*:1) 또는 일대다(1:*)
    • 크로스 필터 방향: 단일 또는 양방향

💻 DAX 함수 문제 & 정답

1. 날짜 테이블 생성 (4점)

문제:

테이블명: DimDate
필드: Date, 연도, 월
시작일: 2022-01-01
종료일: 2022-03-31

정답:

DimDate = 
ADDCOLUMNS(
    CALENDAR(DATE(2022,1,1), DATE(2022,3,31)), 
    "연도", YEAR([Date]), 
    "월", MONTH([Date])
)

추가 작업:

  • [Date] 필드 서식: Short Date로 변경

함수 설명:

  • CALENDAR(시작일, 종료일) - "Date" 열이 있는 테이블 생성
  • ADDCOLUMNS(테이블, "새열", 계산식) - 계산 열 추가
  • DATE(연, 월, 일) - 날짜 생성
  • YEAR([Date]) - 연도 추출
  • MONTH([Date]) - 월 추출 (1~12)

2. 날짜 테이블 - 분기 추가 ⚠️⚠️⚠️ 제1회 극악 난이도

문제:

분기 필드를 "1분기", "2분기", "3분기", "4분기" 형식으로 표현

정답 방법 1 (QUARTER 함수 사용 - 가장 간단):

DimDate = 
ADDCOLUMNS(
    CALENDAR(DATE(2023,1,1), DATE(2024,5,31)), 
    "연도", YEAR([Date]),
    "분기", QUARTER([Date]) & "분기",
    "월", MONTH([Date])
)

결과: "3분기"

정답 방법 2 (FORMAT 함수 사용):

"분기", FORMAT([Date], "q") & "분기"

결과: "3분기"

정답 방법 3 (Q3 형식으로 표현):

"분기", "Q" & FORMAT([Date], "q")

결과: "Q3"

정답 방법 4 (QTR 3 형식):

"분기", FORMAT([Date], "\QTR q")

결과: "QTR 3"

함수 설명:

  • QUARTER([Date]) - 분기 숫자 반환 (1, 2, 3, 4)
  • FORMAT([Date], "q") - 분기 숫자를 텍스트로 반환 ("1", "2", "3", "4")
  • & "분기" - 문자열 연결
  • \ - FORMAT 함수에서 이스케이프 문자 (뒤의 문자를 그대로 출력)

중요: FORMAT([Date], "\\Qq")잘못된 문법입니다!


3. 기본 집계 함수

SUM - 합계 (3점)

문제: 총대여건수 측정값 생성

정답:

총대여건수 = SUM('자전거_대여이력'[대여건수])

서식: 정수, 천단위 구분기호(,)

COUNTROWS - 행 개수 (3점)

문제: 일평균 대여건수 = 총대여건수 / 전체 일수

정답:

일평균대여건수 = [총대여건수] / COUNTROWS('DimDate')

서식: 소수점 2자리

COUNT - 개수

문제: 주문 건수

정답:

주문건수 = COUNT('주문'[주문번호])

DISTINCTCOUNT - 고유값 개수

문제: 광역지자체 수

정답:

광역지자체수 = DISTINCTCOUNT('행정구역코드'[광역지자체명])

 


4. CALCULATE - 조건부 집계 ⭐⭐⭐ 최다 출제

기본 필터 (2점)

문제: 채널이 "매장"인 경우의 매출

정답:

매출_매장 = 
CALCULATE(
    [총매출금액], 
    '거래처'[채널] = "매장"
)

FILTER 함수와 결합 (3점)

문제: 채널이 "매장"인 경우의 매출 (FILTER 사용)

정답:

매출_매장 = 
CALCULATE(
    [총매출금액], 
    FILTER('거래처', '거래처'[채널] = "매장")
)

 


5. COUNTX + FILTER 복합 ⚠️⚠️⚠️ 제1회 출제

문제: 모바일로 주문한 건수, PC로 주문한 건수

정답:

모바일주문수 = 
COUNTX(
    FILTER('주문', '주문'[디바이스] = "모바일"), 
    '주문'[주문번호]
)
PC주문수 = 
COUNTX(
    FILTER('주문', '주문'[디바이스] = "PC"), 
    '주문'[주문번호]
)

대체 방법 (CALCULATE 사용):

모바일주문수 = 
CALCULATE(
    COUNT('주문'[주문번호]), 
    '주문'[디바이스] = "모바일"
)

 


6. DATEADD - 시간 비교 ⭐⭐⭐ 필수 (5점)

전월 비교

문제: 전월 총대여건수

정답:

전월_총대여건수 = 
CALCULATE(
    [총대여건수], 
    DATEADD('DimDate'[Date], -1, MONTH)
)

전년 비교

문제: 전년동월 총대여건수

정답:

전년동월_총대여건수 = 
CALCULATE(
    [총대여건수], 
    DATEADD('DimDate'[Date], -1, YEAR)
)

매개변수:

  • -1, MONTH - 1개월 전
  • -1, YEAR - 1년 전
  • 1, QUARTER - 1분기 후
  • -7, DAY - 7일 전

7. DIVIDE - 안전한 나눗셈 (3점)

비율 계산

문제: 전월대비 증감율

정답:

전월대비증감율 = 
DIVIDE(
    [총대여건수] - [전월_총대여건수], 
    [전월_총대여건수]
)

서식: 백분율, 소수점 2자리

목표 대비 비율

문제: 목표 대비 판매 비율

정답:

목표대비총판매비율% = 
DIVIDE([총판매금액], 100000000000)

장점: 0으로 나눌 때 오류 대신 BLANK 반환


8. TOTALYTD - 연초 누적 (3점)

문제: 연간 누계

정답:

연간_누계 = TOTALYTD([총매출금액], '날짜'[날짜])

의미: Year To Date (1월 1일부터 현재까지 누적)


9. RANKX - 순위 (5점)

문제: 제품별 판매 순위 (동점자는 공동 순위, 다음 순위는 연속)

정답:

순위 = 
RANKX(
    ALL('제품'[제품명]), 
    [총수량], 
    , 
    DESC, 
    Dense
)

구문: RANKX(테이블, 식, 값, 순서, 동률처리)

매개변수:

  • 순서:
    • DESC - 내림차순 (큰 값이 1위)
    • ASC - 오름차순
  • 동률처리:
    • Skip - 1위 2개 → 다음 3위
    • Dense - 1위 2개 → 다음 2위 ⭐ 자주 출제

10. SUMX - 행별 계산 후 합계 (3점)

문제: 판매금액 = 판매수량 × 판매가격의 합계

정답:

총판매금액 = 
SUMX(
    '방송주문', 
    '방송주문'[판매수량] * '방송주문'[판매가격]
)

언제 사용?: 각 행마다 곱셈 등의 계산이 필요할 때


11. SUMMARIZE - 그룹별 요약 (4점)

문제: 광역지자체별 방문자수 합계 테이블 생성

정답:

요약 = 
SUMMARIZE(
    '지자체별_방문자수', 
    '지자체별_방문자수'[광역지자체명], 
    "합계", SUM('지자체별_방문자수'[방문자수])
)

구문: SUMMARIZE(테이블, 그룹기준, "새열이름", 집계식)

주의: 새로 만든 테이블은 관계 설정 필요!


12. RELATED - 관계 테이블에서 값 가져오기 (3점)

문제: <방송주문> 테이블에 거래처명 필드 추가

정답:

거래처 = RELATED('거래처'[거래처명])

사용 조건: 두 테이블 간 관계가 설정되어 있어야 함


13. ALL - 필터 무시

문제: 전체 데이터 중 서울만 필터링

정답:

서울지역_방문자수 = 
CALCULATE(
    SUM('지자체별_방문자수'[방문자수]), 
    FILTER(
        ALL('지자체별_방문자수'), 
        '지자체별_방문자수'[광역지자체명] = "서울특별시"
    )
)

14. IF + BLANK + ISBLANK + IN (복합) ⚠️⚠️ 제1회 출제

문제:

지역이 비어있으면 빈칸
서울/인천/경기면 "수도권"
나머지는 "지방권"

정답:

지역구분 = 
IF(
    ISBLANK([지역]), 
    BLANK(), 
    IF(
        [지역] IN {"서울", "인천", "경기"}, 
        "수도권", 
        "지방권"
    )
)

함수 설명:

  • ISBLANK([필드]) - 빈 값 확인
  • BLANK() - 빈 값 반환
  • IN {"값1", "값2"} - 여러 값 중 하나인지 확인

15. VAR + RETURN - 변수 사용

문제: 복잡한 계산을 변수로 저장

정답:

비율 = 
VAR 분자 = [측정값1]
VAR 분모 = [측정값2]
RETURN
    DIVIDE(분자, 분모)

 


16. FORMAT - 텍스트 형식 ⚠️ 제1회 출제

날짜 형식:

연월 = FORMAT([날짜], "yyyy-mm")

분기 형식 (정확한 방법들):

// 방법 1: "3분기" 형식
분기 = FORMAT([Date], "q") & "분기"

// 방법 2: "Q3" 형식
분기 = "Q" & FORMAT([Date], "q")

// 방법 3: "QTR 3" 형식
분기 = FORMAT([Date], "\QTR q")

숫자 형식:

금액표시 = FORMAT([매출], "#,##0")

 


17. TOPN - 상위 N개

문제: 상위 10개 거래처

정답:

상위10거래처 = 
TOPN(
    10, 
    ALL('거래처'[거래처명]), 
    [총매출금액], 
    DESC
)

 


📊 차트 문제 & 정답

1. 카드(신규) ⚠️⚠️⚠️ 제1회 출제

문제: 새로운 카드 시각적 개체 사용

카드 vs 카드(신규) 차이:
| 구분 | 카드 | 카드(신규) |
|------|------|------------|
| 필드 | 1개 | 여러 개 |
| 기능 | 단순 값 | 설명값, 범주 레이블 등 |

필드 구성:

  • 필드: 주 측정값
  • 설명값: 부가 설명
  • 범주 레이블: 제목

주요 서식:

  • 글꼴 크기
  • 표시 단위
  • 범주 레이블 표시/숨기기

2. 트리맵 ⚠️⚠️⚠️ 제1회 출제

문제: 계층 구조를 사각형 크기로 시각화

필드 구성:

  • 그룹: 계층 필드 (예: 지역)
  • 세부 정보: 하위 카테고리 (예: 도시)
  • 값: 측정값 (사각형 크기 결정)
  • 색상 채도: 순위 또는 다른 측정값

주요 서식:

  • 데이터 레이블
  • 범주 레이블
  • 색상 그라데이션

3. 슬라이서

주요 서식:

  • 스타일: 드롭다운, 목록, 타일
  • 모두 선택: 켜기/끄기
  • 머리글: 표시/숨기기
  • 다중 선택: 단일/다중

4. 묶은 가로 막대형

주요 작업:

  • 계층 확장: 다음 수준으로 확장
  • TOP N 필터 적용
  • 데이터 레이블: 표시단위, 소수점
  • 내림차순 정렬

5. 꺾은선형

주요 서식:

  • 표식: 원형, 크기 5
  • 표식 색상
  • 추세선 추가
  • 축 제목 제거

6. 도넛형

주요 서식:

  • 내부 반경: 50%
  • 조각 색상 개별 설정
  • 레이블 위치: 외부/내부
  • 범례 위치

7. 행렬 (피벗 테이블)

필드 구성:

  • 행: 차원 필드
  • 열: 차원 필드
  • 값: 측정값

주요 서식:

  • 조건부 서식 (아이콘, 배경색, 데이터 막대)
  • 계단형 레이아웃 해제
  • 모든 행 확장
  • 부분합 표시/숨기기

8. 이중 축 차트

필드 구성:

  • 공유 축: X축 필드
  • 열 Y축 값: 측정값 1 (막대)
  • 꺾은선 Y축 값: 측정값 2 (선)

주요 서식:

  • Y축 범위 조정
  • 표식 스타일
  • 조건부 서식

9. 리본 차트

주요 작업:

  • TOP N 필터
  • 순서 정렬 (오름/내림차순)
  • 투명도 조정
  • 색상 설정

10. 계기(게이지)

필드 구성:

  • 값: 실적
  • 대상: 목표값

주요 서식:

  • 게이지 축 최대값 설정

11. 테이블

주요 작업:

  • 조건부 서식 (데이터 막대)
  • 열 정렬
  • 열 너비 조정

12. 텍스트 상자 ⚠️ 제1회 출제

문제: 제목 추가, 배경색 #F2F2F2

정답:

  1. 삽입 → 텍스트 상자
  2. 텍스트 입력
  3. 서식 → 배경 → 배경색 켜기
  4. #F2F2F2 입력

🎯 최종 합격 체크리스트

파워쿼리 (30점)

  • 쿼리 병합 (접두사 해제!)
  • 쿼리 추가
  • 피벗 해제
  • 그룹화 ⚠️
  • 텍스트 추출 (구분 기호) ⚠️⚠️
  • 빈 행 채우기 ⚠️
  • 1행을 머리글로 ⚠️
  • 열 병합 (원본 유지!) ⚠️⚠️
  • 조건부 열
  • 로드 사용 해제
  • 관계 설정

DAX 기본 (17점)

  • SUM, COUNT, COUNTROWS
  • CALCULATE (간단한 필터)
  • DATEADD (전월/전년)
  • DIVIDE
  • COUNTX + FILTER ⚠️⚠️

DAX 고급 (추가 10점)

  • QUARTER / FORMAT (분기) ⚠️⚠️⚠️
  • IF + BLANK + IN ⚠️
  • RANKX (Dense)
  • SUMX
  • SUMMARIZE
  • RELATED

차트 기본 (30점)

  • 카드(신규) ⚠️⚠️⚠️
  • 슬라이서
  • 막대형
  • 꺾은선형
  • 도넛형
  • 텍스트 상자 ⚠️

차트 고급 (추가 13점)

  • 트리맵 ⚠️⚠️⚠️
  • 행렬 + 조건부 서식
  • 이중 축

🚨 시험 당일 주의사항

시작 즉시 (5분)

  • 문제 데이터 파일 존재 확인 (C:\PB$$
  • 답안 파일 열림 확인
  • 답안 파일의 문제3-4 페이지 차트 보이는지 확인

시험 중

  • Ctrl + S (5분마다 저장)
  • 막히는 문제 스킵
  • 문제1 측정값은 마지막에

종료 전 (5분)

  • 파일명 확인
  • 파일 경로 확인
  • 최종 저장

💡 합격 핵심 정리

70점 확보 전략:

파워쿼리 완벽 (30점) 
+ 기본 차트 (30점) 
+ 기본 DAX (10점) 
= 70점 합격!

절대 잊지 말 것:

  1. 열 병합 시 "원본 열 유지" 체크 ⚠️⚠️
  2. 쿼리 병합 시 "접두사 사용" 해제 ⚠️⚠️
  3. 분기 표현: QUARTER([Date]) & "분기" 또는 FORMAT([Date], "q") & "분기" ⚠️⚠️⚠️
  4. 카드(신규)와 트리맵 반드시 연습 ⚠️⚠️⚠️
  5. 모의문제 10회 반복, 50분 완료 목표 ⚠️⚠️⚠️
반응형

놓치면 아쉬운 추천 글, 함께 읽어보세요!

  • 추천 글을 불러오는 중입니다...