엑셀 전문가 · 대화형 레슨 12개 중 3번째

파워 쿼리 엔지니어링

A6에서는 파일 두 개를 깔끔한 표 하나로 결합했어요. 쿼리를 '엔지니어링'한다는 건 열이 하나 빠진 파일, 거부된 행이 섞인 폴더, 다른 시작 경로로 실행해 달라는 요청이 와도 처음부터 다시 쓰지 않고 같은 레시피가 버텨 내게 만드는 거예요.

전문가대화형

화면 기준: Windows용 Microsoft 365 Excel. 연습은 어느 브라우저에서나 할 수 있어요.

글로 보는 튜토리얼엑셀 파워 쿼리 엔지니어링: 매개 변수, 스테이징 쿼리, 새로 고침

실력 점검

먼저 해 보세요:

  • 하드 코딩된 파일 경로를 쿼리 매개 변수로 바꿔요.
  • 같은 단계를 쿼리 다섯 개에 반복하는 것보다 사용자 지정 함수가 나은 점을 설명해요.
  • 형식 변환에 실패한 행을 조용히 버리지 않고 별도의 오류 표로 보내요.
  • 스테이징 쿼리와 통합 문서로 로드되는 쿼리의 차이를 설명해요.

모두 익숙하다면 E4 — 데이터 모델과 DAX로 건너뛰세요.

개념 익히기

이번 레슨에서 배울 내용

쿼리 매개 변수
쿼리 곳곳에서 참조하는, 이름이 있고 편집할 수 있는 값(폴더 경로, 연도, 임계값)이에요. 모든 단계를 뒤지지 않고 한 곳에서 한 번만 바꾸면 돼요.
사용자 지정 함수
한 번 작성해 두고 입력만 바꿔 호출하는 쿼리예요. LAMBDA와 같은 아이디어를 수식이 아닌 M으로 구현한 거라, 거의 똑같은 가져오기 쿼리 다섯 개가 다섯 번 호출하는 함수 하나로 바뀌어요.
폴더 수집 패턴
파일이 아니라 폴더를 가리키세요. 폴더 안의 모든 파일이 자동으로 결합되고, 쿼리를 만든 뒤에 추가된 파일도 예상한 구조와 맞기만 하면 함께 결합돼요.
오류 행과 예외 처리
형식 변환에 실패한 행이 꼭 사라질 필요는 없어요. 별도의 "Rejected Rows" 쿼리로 보내 두면, 행 수가 소리 없이 줄어드는 대신 누군가 로드되지 않은 행을 보고 고칠 수 있어요.
스테이징 쿼리
"연결만 만들기(Connection Only)"로 설정한 중간 쿼리예요. 정리하고 형식을 지정하는 실제 작업은 하지만 그 자체는 시트로 로드되지 않아요. 다른 쿼리는 그 단계를 반복하는 대신 이 쿼리를 참조해요.
로드 대상
표로, 데이터 모델(Data Model)로, 또는 연결만 만들기로 로드할 수 있어요. 같은 데이터를 가져와도 어디에 로드하느냐에 따라 완전히 다른 세 가지 역할을 해요.
새로 고침 진단
새로 고침이 느리거나 결과가 틀리면, 단계 전후의 행 수를 확인하고, 필요한 것보다 많이 읽는 단계가 있는지 살피고, 모든 원본 파일이 실제로 예상한 패턴과 맞았는지 확인하세요.
M 코드 가독성
각 적용된 단계(Applied Steps)의 이름을 하는 일이 드러나게 바꾸세요("Filtered Rows1"이 아니라 "Remove Cancelled Orders"처럼). 그렇게 쓰든 안 쓰든 단계 목록은 곧 문서예요.

엑셀에서 찾는 위치

데이터›데이터 가져오기›파워 쿼리 편집기 시작

옆으로 밀어 창 전체를 볼 수 있어요.

  1. 1데이터 › 데이터 가져오기.
  2. 2파워 쿼리 편집기 시작: 홈 › 매개 변수 관리, M 코드는 고급 편집기, 로드 위치는 닫기 및 다음으로 로드.
  3. 3매개 변수에 폴더 경로를 두면 위치가 바뀌어도 쿼리가 버텨요.
  4. 4준비 쿼리는 연결만 만들기로 로드해요.
  5. 5문제 행은 사라지지 않고 별도 표로 가요.

Microsoft 365용 Excel(Windows) 화면을 재현한 그림입니다. Mac, 웹용 Excel 또는 좁은 창에서는 리본 배치가 조금 다를 수 있습니다.

따라 만들기

매개 변수로 구동되는 월별 내보내기 파일 폴더가 있고, 그중 한 파일에 잘못된 행이 있어요. 엔지니어링된 버전의 가져오기를 단계별로 진행해 보세요.

🔌 엔지니어링된 쿼리 — 매개 변수 기반, 스테이징 단계 포함
아래의 모든 단계가 이 매개 변수를 읽어요. 값을 바꾸면 모든 쿼리가 한꺼번에 새 경로를 가리켜요.
스테이징부터 시작하세요. 다른 어떤 단계가 데이터를 건드리기 전에 폴더를 결합하고 올바른 형식을 지정해요.

혼자 응용하기

실제 폴더 가져오기 엔지니어링하기

반복되는 가져오기를 매개 변수 쿼리로 바꿔 보세요. 하드 코딩된 경로를 매개 변수로 바꾸고, 작업을 연결만 만들기 스테이징 쿼리와 그것을 로드하는 쿼리로 나누고, 형식 변환에 실패한 행은 사라지게 두지 말고 눈에 보이는 "Rejected Rows" 표로 보내세요.

이 레슨에서 틀린 부분을 찾았거나 제안이 있나요? 의견 보내기