
🎯 시험 핵심 전략
합격 공식
파워쿼리(30점) + 기본차트(30점) + 기본DAX(10점) = 70점 합격
시간 배분 (70분)
| 작업 | 시간 | 득점 |
| 문제1 파워쿼리 | 15분 | 20점 |
| 문제2 단순차트 | 20분 | 30점 |
| 문제3 복합차트 | 25분 | 30점 |
| 문제1 DAX 측정값 | 8분 | 10점 |
| 검토·저장 | 2분 | - |
전략: DAX 측정값은 마지막에 풀기, 막히면 과감히 스킵!
📚 파워쿼리 문제 & 정답
문제 유형 1: 데이터 가져오기
문제: Excel 파일에서 특정 시트 데이터 가져오기
정답:
- 홈 탭 → Excel 통합 문서
- 파일 선택 → 필요한 시트 체크
- 데이터 변환 클릭 (바로 로드 아님!)
문제 유형 2: 쿼리 병합 (조인) ⭐ 필수
문제 A: 기존 테이블에 필드 추가
<지자체별_방문자수> 테이블에
<행정구역코드> 테이블의 [광역지자체명] 필드를 추가하라
조인 종류: 왼쪽 외부
정답:
- <지자체별_방문자수> 테이블 선택
- 홈 탭 → 쿼리 병합 → 쿼리 병합 (새 항목으로 병합 아님!)
- 위: 지자체별_방문자수 / 아래: 행정구역코드
- 조인 기준 필드 클릭 (예: 시군구코드 = 행정동코드)
- 조인 종류: 왼쪽 외부 선택
- 확인
- 새로 생긴 필드 오른쪽 화살표 클릭
- "원래 열 이름을 접두사로 사용" 체크 해제 ⚠️
- 필요한 필드만 체크 (광역지자체명)
- 확인
문제 유형 3: 쿼리 추가 (유니온) ⭐ 필수
문제: 여러 테이블을 세로로 합치기
정답:
- 홈 탭 → 쿼리 추가 → 쿼리 추가
- 두 개 이상의 테이블 선택
- 합칠 테이블들 선택 후 확인
주의: 컬럼명이 동일해야 정상 병합!
문제 유형 4: 피벗 해제 ⭐ 필수
문제: 날짜 컬럼들(1월, 2월, 3월...)을 하나의 열로 변환
정답:
- 날짜 컬럼들 선택 (Ctrl + 클릭)
- 변환 탭 → 열 피벗 해제
- 생성된 "특성"과 "값" 필드명을 요구사항대로 변경
- 특성 → "월" 또는 "이동통신" 등
- 값 → "방문자수" 등
문제 유형 5: 그룹화 ⚠️ 제1회 출제
문제: 특정 필드 기준으로 데이터 그룹화하여 집계
정답:
- 변환 탭 → 그룹화
- 그룹 기준 필드 선택
- 작업: 합계, 평균, 개수 등 선택
- 새 열 이름 입력
- 확인
문제 유형 6: 구분 기호로 텍스트 추출 ⚠️⚠️ 제1회 출제
문제: "2023.csv"에서 '.' 앞의 "2023"만 추출
정답 방법 1 (추천):
- 추출할 필드 선택
- 변환 탭 → 추출 → 구분 기호 앞의 텍스트
- 구분 기호에
.입력 - 확인
정답 방법 2:
- 변환 탭 → 열 분할 → 구분 기호 기준
.입력 → 가장 왼쪽 구분 기호- 확인
- 필요없는 열 삭제
문제 유형 7: 열 병합 ⚠️⚠️ 제1회 함정 문제
문제: 여러 열을 병합하여 'Key' 열 생성
정답:
- 병합할 열들 선택 (Ctrl + 클릭)
- 변환 탭 → 열 병합
- 구분 기호 선택 (공백, 쉼표 등)
- ⚠️⚠️ "원본 열 유지" 옵션 필수 체크!
- 새 열 이름 입력 (예: Key)
- 확인
함정: 원본 열 유지 안 하면 원본이 사라짐!
문제 유형 8: 조건부 열 (IF 조건) ⭐ 필수
문제:
[광역지자체명]이 "서울특별시", "경기도", "인천광역시"면 "수도권"
그 외는 "지방권"
정답:
- 열 추가 탭 → 조건 열
- 새 열 이름 입력 (예: 권역)
- 조건 입력:
- IF [광역지자체명] = "서울특별시" THEN "수도권"
- 절 추가 버튼 클릭
- ELSE IF [광역지자체명] = "경기도" THEN "수도권"
- 절 추가 버튼 클릭
- ELSE IF [광역지자체명] = "인천광역시" THEN "수도권"
- ELSE: "지방권"
- 확인
- 데이터 형식을 "텍스트"로 변경
문제 유형 9: 기타 필수 작업
빈 행 채우기 ⚠️ 제1회 출제
정답: 빈 필드 선택 → 변환 → 채우기 → 아래로
1행을 열 머리글로 ⚠️ 제1회 출제
정답: 홈 → 첫 행을 머리글로 사용
로드 사용 해제
정답: 쿼리 패널에서 테이블 우클릭 → 로드 사용 (체크 해제)
데이터 타입 변경
정답: 필드 선택 → 홈 탭 → 데이터 형식 → 정수/10진수/텍스트/날짜
필드명 변경
정답: 필드 머리 더블클릭 → 이름 입력
열 삭제
- 특정 열만 남기기: 남길 열들 선택 (Ctrl+클릭) → 우클릭 → 다른 열 제거
- 특정 열 삭제: 삭제할 열 선택 → 우클릭 → 제거
문제 유형 10: 관계 설정
문제: 테이블 간 관계 설정
정답:
- 모델 보기 클릭
- <테이블A>의 [필드A]를 드래그하여 <테이블B>의 [필드B]에 놓기
- 관계선 더블클릭하여 확인:
- 카디널리티: 다대일(*: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
정답:
- 삽입 → 텍스트 상자
- 텍스트 입력
- 서식 → 배경 → 배경색 켜기
#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점 합격!
절대 잊지 말 것:
- 열 병합 시 "원본 열 유지" 체크 ⚠️⚠️
- 쿼리 병합 시 "접두사 사용" 해제 ⚠️⚠️
- 분기 표현:
QUARTER([Date]) & "분기"또는FORMAT([Date], "q") & "분기"⚠️⚠️⚠️ - 카드(신규)와 트리맵 반드시 연습 ⚠️⚠️⚠️
- 모의문제 10회 반복, 50분 완료 목표 ⚠️⚠️⚠️
놓치면 아쉬운 추천 글, 함께 읽어보세요!
- 추천 글을 불러오는 중입니다...