이 문서에는 파워 쿼리에서 데이터 랭글링 환경을 최대한 활용하기 위한 몇 가지 팁과 요령이 포함되어 있습니다.
올바른 커넥터 선택
파워 쿼리는 방대한 수의 데이터 커넥터를 제공합니다. 이러한 커넥터는 TXT, CSV 및 Excel 파일과 같은 데이터 원본부터 Microsoft SQL Server와 같은 데이터베이스 및 Microsoft Dynamics 365 및 Salesforce와 같은 인기 있는 SaaS 서비스에 이르기까지 다양합니다. 데이터 가져오기 창에 데이터 원본이 나열되지 않으면 항상 ODBC 또는 OLEDB 커넥터를 사용하여 데이터 원본에 연결할 수 있습니다.
작업에 가장 적합한 커넥터를 사용하면 최상의 환경과 성능을 제공할 수 있습니다. 예를 들어 SQL Server 데이터베이스에 연결할 때 ODBC 커넥터 대신 SQL Server 커넥터를 사용하면 훨씬 더 나은 데이터 가져오기 환경을 제공할 뿐만 아니라 SQL Server 커넥터는 쿼리 폴딩과 같은 환경과 성능을 향상시킬 수 있는 기능을 제공합니다. 쿼리 폴딩에 대해 자세히 알아보려면 파워 쿼리에서 쿼리 평가 및 쿼리 폴딩 개요로 이동합니다.
각 데이터 커넥터는 데이터 가져오기에 설명된 대로 표준 환경을 따릅니다. 이 표준화된 환경에는 데이터 미리 보기라는 단계가 있습니다. 이 단계에서는 커넥터에서 허용하는 경우 데이터 원본에서 가져올 데이터와 해당 데이터의 간단한 데이터 미리 보기를 선택할 수 있는 사용자에게 친숙한 창이 제공됩니다. 다음 이미지와 같이 탐색기 창을 통해 데이터 원본에서 여러 데이터 집합을 선택할 수도 있습니다.
쿼리의 초기 단계 또는 가능한 한 빨리 데이터를 필터링하는 것이 좋습니다. 파워 쿼리의 쿼리 평가 및 쿼리 폴딩 개요에 설명된 대로 일부 커넥터는 쿼리 폴딩을 통해 필터를 활용합니다. 또한 사례와 관련이 없는 데이터를 필터링하는 것이 가장 좋습니다. 이렇게 하면 데이터 미리 보기 섹션에 관련된 데이터만 표시하여 작업에 더 집중할 수 있습니다.
열에 있는 값의 고유한 목록을 표시하는 자동 필터 메뉴를 사용하여 유지하거나 필터링할 값을 선택할 수 있습니다. 검색 창을 사용하여 열에서 값을 찾을 수도 있습니다.
날짜, 날짜/시간 또는 날짜 표준 시간대 열의 이전과 같은 형식별 필터를 활용할 수도 있습니다.
이러한 형식별 필터를 사용하면 다음 이미지에 표시된 대로 이전 x 초, 분, 시간, 일, 주, 월, 분기 또는 연도의 데이터를 항상 검색하는 동적 필터를 만들 수 있습니다.
참고
열의 값을 기준으로 데이터를 필터링하는 방법에 대해 자세히 알아보려면 값으로 필터링을 참조하세요.
비용이 많이 드는 작업을 마지막으로 수행합니다.
특정 작업을 수행하려면 결과를 반환 하기 위해 전체 데이터 원본을 읽어야 하므로 Power Query 편집기 미리 보기 속도가 느려집니다. 예를 들어 정렬을 수행하는 경우 처음 몇 개의 정렬된 행이 원본 데이터의 끝에 있는 것일 수 있습니다. 따라서 결과를 반환하려면 정렬 작업에서 먼저 모든 행을 읽어야 합니다.
다른 작업(예: 필터)은 결과를 반환하기 전에 모든 데이터를 읽을 필요가 없습니다. 대신 "스트리밍" 방식으로 데이터를 통해 작동합니다. 데이터가 "스트림"되며 결과가 그 과정에서 반환됩니다. Power Query 편집기 이러한 작업은 미리 보기를 채우기 위해 원본 데이터를 충분히 읽어야 합니다.
가능하면 먼저 이러한 스트리밍 작업을 수행하고 더 많은 비용이 드는 작업을 마지막으로 수행합니다. 이렇게 하면 쿼리에 새 단계를 추가할 때마다 미리 보기가 렌더링될 때까지 기다리는 시간을 최소화할 수 있습니다.
데이터의 하위 집합에 대해 일시적으로 작업
Power Query 편집기 쿼리에 새 단계를 추가하는 속도가 느린 경우 먼저 "첫 번째 행 유지" 작업을 수행하고 작업 중인 행 수를 제한하는 것이 좋습니다. 그런 다음 필요한 모든 단계를 추가한 후 "첫 번째 행 유지" 단계를 제거합니다.
올바른 데이터 형식 사용
파워 쿼리의 일부 기능은 선택한 열의 데이터 형식에 대한 컨텍스트입니다. 예를 들어 날짜 열을 선택할 때 열 추가 메뉴의 날짜 및 시간 열 그룹에서 사용 가능한 옵션을 사용할 수 있습니다. 그러나 열에 데이터 형식 집합이 없으면 이러한 옵션이 회색으로 표시됩니다.
형식별 필터는 특정 데이터 형식과 관련이 있으므로 비슷한 상황이 발생합니다. 열에 올바른 데이터 형식이 정의되지 않은 경우 이러한 형식별 필터를 사용할 수 없습니다.
항상 열에 대한 올바른 데이터 형식으로 작업하는 것이 중요합니다. 데이터베이스와 같은 구조화된 데이터 원본을 사용하는 경우 데이터 형식 정보는 데이터베이스에 있는 테이블 스키마에서 가져옵니다. 그러나 TXT 및 CSV 파일과 같은 구조화되지 않은 데이터 원본의 경우 해당 데이터 원본에서 들어오는 열에 대해 올바른 데이터 형식을 설정하는 것이 중요합니다.
기본적으로 파워 쿼리는 구조화되지 않은 데이터 원본에 대한 자동 데이터 형식 검색을 제공합니다. 이 기능에 대해 자세히 알아보고 데이터 형식에 도움이 되는 방법을 확인할 수 있습니다.
참고
데이터 형식의 중요성과 데이터 형식을 사용하여 작업하는 방법에 대한 자세한 내용은 데이터 형식을 참조하세요.
데이터 탐색
데이터 준비 및 새 변환 단계 추가를 시작하기 전에 파워 쿼리 데이터 프로파일링 도구를 사용하여 데이터에 대한 정보를 쉽게 검색할 수 있도록 하는 것이 좋습니다.
이러한 데이터 프로파일링 도구를 사용하면 데이터를 더 잘 이해할 수 있습니다. 이 도구는 다음과 같은 열별로 정보를 표시하는 작은 시각화를 제공합니다.
열 품질 - 유효한 값, 오류 또는 빈 값 범주에 속하는 열의 값 수를 나타내는 작은 가로 막대형 차트와 세 개의 표시기를 제공합니다.
열 분포 - 각 열에 있는 값의 빈도 및 분포를 보여 주는 열 이름 아래에 시각적 개체 집합을 제공합니다.
필요에 따라 단계, 쿼리 또는 그룹에 설명을 변경하거나 추가하여 쿼리를 문서화하는 것이 좋습니다.
파워 쿼리가 적용된 단계 창에서 자동으로 단계 이름을 만드는 동안 단계 이름을 바꾸거나 설명도 추가할 수 있습니다.
참고
적용된 단계 창 내에 있는 사용 가능한 모든 기능 및 구성 요소에 대해 자세히 알아보려면 적용된 단계 목록 사용으로 이동합니다.
모듈식 접근 방식 사용
필요할 수 있는 모든 변환 및 계산을 포함하는 단일 쿼리를 만들 수 있습니다. 그러나 쿼리에 많은 단계가 포함된 경우 쿼리를 여러 쿼리로 분할하는 것이 좋습니다. 여기서 한 쿼리는 다음 쿼리를 참조합니다. 이 방법의 목표는 변환 단계를 단순화하고 더 작은 조각으로 분리하여 이해하기 쉽게 하는 것입니다.
예를 들어 다음 이미지에 표시된 9단계가 포함된 쿼리가 있다고 가정해 보겠습니다.
가격과 병합 테이블 단계에서 이 쿼리를 두 으로 분할할 수 있습니다. 이렇게 하면 병합 전에 판매 쿼리에 적용된 단계를 더 쉽게 이해할 수 있습니다. 이 작업을 수행하려면 가격과 병합 테이블 단계를 마우스 오른쪽 단추로 클릭하고 이전 추출 옵션을 선택합니다.
그런 다음 새 쿼리에 이름을 지정하는 대화 상자가 표시됩니다. 이렇게 하면 쿼리가 두 개의 쿼리로 효과적으로 분할됩니다. 하나의 쿼리는 병합 전에 모든 쿼리를 갖습니다. 다른 쿼리에는 새 쿼리를 참조하는 초기 단계와 가격과의 병합 테이블에서 원래 쿼리에 있던 나머지 단계가 아래쪽으로 표시됩니다.
쿼리 참조를 사용하는 것이 적합할 수도 있습니다. 그러나 쿼리를 너무 많은 단계로 언뜻 보기에는 어려워 보이지 않는 수준으로 유지하는 것이 좋습니다.
동적이며 유연한 쿼리를 만드는 것이 가장 좋습니다. 파워 쿼리의 매개 변수는 쿼리를 보다 동적으로 유연하게 만드는 데 도움이 됩니다.
매개 변수는 여러 가지 방법으로 재사용할 수 있는 값을 쉽게 저장하고 관리하는 방법으로 사용됩니다. 그러나 두 가지 시나리오에서 더 일반적으로 사용됩니다.
단계 인수 - 사용자 인터페이스에서 구동되는 여러 변환의 인수로 매개 변수를 사용할 수 있습니다.
사용자 지정 함수 인수 - 쿼리에서 새 함수를 만들고 매개 변수를 사용자 지정 함수의 인수로 참조할 수 있습니다.
매개 변수를 만들고 사용하는 기본 이점은 다음과 같습니다.
매개 변수 관리 창을 통해 모든 매개 변수의 중앙 집중식 보기입니다.
여러 단계 또는 쿼리에서 매개 변수를 재사용할 수 있습니다.
사용자 지정 함수를 간단하고 쉽게 만들 수 있습니다.
데이터 커넥터의 일부 인수에서 매개 변수를 사용할 수도 있습니다. 예를 들어 SQL Server 데이터베이스에 연결할 때 서버 이름에 대한 매개 변수를 만들 수 있습니다. 그런 다음 SQL Server 데이터베이스 대화 상자 내에서 해당 매개 변수를 사용할 수 있습니다.
서버 위치를 변경하는 경우 서버 이름에 대한 매개 변수를 업데이트하기만 하면 쿼리가 업데이트됩니다.
다른 쿼리 또는 값에 동일한 변환 집합을 적용해야 하는 상황에서 필요한 만큼 재사용할 수 있는 파워 쿼리 사용자 지정 함수를 만드는 것이 도움이 될 수 있습니다. 파워 쿼리 사용자 지정 함수는 입력 값 집합에서 단일 출력 값으로의 매핑이며 네이티브 M 함수 및 연산자에서 생성됩니다.
예를 들어 동일한 변환 집합이 필요한 여러 쿼리 또는 값이 있다고 가정해 보겠습니다. 나중에 선택한 쿼리 또는 값에 대해 호출할 수 있는 사용자 지정 함수를 만들 수 있습니다. 이 사용자 지정 함수는 시간을 절약하고 언제든지 수정할 수 있는 중앙 위치에서 변환 집합을 관리하는 데 도움이 됩니다.
파워 쿼리 사용자 지정 함수는 기존 쿼리 및 매개 변수에서 만들 수 있습니다. 예를 들어 여러 코드가 텍스트 문자열로 있고 해당 값을 디코딩하는 함수를 만들려고 하는 쿼리를 생각해 보십시오.
먼저 예제로 사용되는 값이 있는 매개 변수를 사용합니다.
해당 매개 변수에서 필요한 변환을 적용하는 새 쿼리를 만듭니다. 이 경우 코드 PTY-CM1090-LAX 를 여러 구성 요소로 분할하려고 합니다.
원본 = PTY
Destination = LAX
Airline = CM
FlightID = 1090
그런 다음 쿼리를 마우스 오른쪽 단추로 클릭하고 함수 만들기를 선택하여 해당 쿼리를 함수로 변환할 수 있습니다. 마지막으로 다음 이미지와 같이 쿼리 또는 값으로 사용자 지정 함수를 호출할 수 있습니다.
몇 가지 추가 변환 후에 원하는 출력에 도달하고 사용자 지정 함수에서 이러한 변환에 대한 논리를 활용했음을 알 수 있습니다.
참고
파워 쿼리에서 사용자 지정 함수를 만들고 사용하는 방법에 대한 자세한 내용은 사용자 지정 함수 문서에서 확인할 수 있습니다.