Power BI Desktop을 사용하면 다양한 형식의 데이터 소스에 연결한 다음 요구 사항에 맞게 데이터를 셰이핑할 수 있습니다. 데이터 셰이핑은 열 또는 테이블 이름 바꾸기, 텍스트를 숫자로 변경, 행 제거, 첫 행을 머리글로 설정 등의 데이터 변환을 의미합니다. 데이터 결합 은 둘 이상의 데이터 원본에 연결하고, 필요에 따라 셰이핑한 다음 하나의 유용한 쿼리로 통합하는 것을 의미합니다.

이 문서에서는 Power BI Desktop을 사용하여 쿼리를 셰이핑하는 방법을 설명하며 가장 일반적인 몇 가지 작업을 강조해서 설명합니다. 처음부터 직접 쿼리를 만드는 방법을 포함하여 여기에 사용된 쿼리는 Power BI Desktop 시작에서 자세히 설명합니다.

Power BI Desktop의 쿼리 편집기 에서는 오른쪽 클릭 메뉴와 리본을 많이 사용합니다. 변환 리본에서 선택할 수 있는 옵션은 대부분 항목(예: 열)을 마우스 오른쪽 단추로 클릭하고 나타나는 메뉴에서 선택하여 사용할 수도 있습니다.

데이터 모양 지정

쿼리 편집기에서 데이터를 셰이핑하는 경우 쿼리 편집기가 데이터를 로드 및 표시할 때 데이터를 조정하는 단계별 지침(쿼리 편집기가 자동으로 수행)을 제공합니다. 원래 데이터 원본은 영향을 받지 않습니다. 이 특정 데이터 보기가 조정되거나 셰이핑됩니다.

지정하는 단계(예: 테이블 이름 바꾸기, 데이터 형식 변환 또는 열 삭제)는 쿼리 편집기에 의해 기록되고, 이 쿼리가 데이터 소스에 연결할 때마다 데이터가 항상 지정한 방식으로 셰이핑되도록 이러한 단계가 수행됩니다. Power BI Desktop에서 쿼리 편집기 기능을 사용할 때마다 또는 Power BI 서비스 등에서 공유 쿼리를 사용하는 사용자에 대해 이 프로세스가 발생합니다. 이러한 단계는 쿼리 설정 창의 적용된 단계아래에 순차적으로 캡처됩니다.

다음 이미지는 셰이핑된 쿼리에 대한 쿼리 설정 창을 보여 줍니다. 다음 몇 단락에서 이러한 단계를 각각 수행합니다.

웹 데이터 원본에 연결하여 찾은 Power BI Desktop 시작의 은퇴 데이터를 사용하여 요구 사항에 맞게 데이터를 셰이핑하겠습니다.

먼저 쿼리 편집기가 테이블을 로드할 때 한 열의 점수가 텍스트에서 숫자로 자동으로 변환되지 않았으며 숫자로 변환해야 합니다. 열 머리글을 마우스 오른쪽 단추로 클릭하고 형식 변경>정수를 선택하여 변경하면 됩니다. 둘 이상의 열을 선택하려면 먼저 열을 하나 선택하고 Shift키를 누른 채 인접한 열을 추가로 선택한 다음 열 머리글을 마우스 오른쪽 단추로 클릭하여 선택한 모든 열을 변경합니다. Ctrl 키를 사용하여 인접하지 않은 열을 선택할 수도 있습니다.

변환 리본에서 이러한 열을 텍스트에서 머리글로 변환 할 수도 있습니다. 다음은 변환 리본이며, 화살표가 현재 데이터 형식을 다른 데이터 형식으로 변환할 수 있는 데이터 형식 단추를 가리키고 있습니다.

쿼리 설정적용된 단계는 데이터에 적용된 셰이핑 단계를 반영합니다. 셰이핑 프로세스에서 단계를 제거하려는 경우 단계 왼쪽에 있는 X를 선택하면 됩니다. 다음 이미지의 적용된 단계는 지금까지의 단계를 반영합니다. 웹 사이트(원본)에 연결하고, 테이블을 선택하고(탐색), 테이블을 로드하는 동안 쿼리 편집기가 텍스트 기반 숫자 열을 텍스트에서 정수로 자동으로 변경했습니다(변경된 형식). 하나의 순위 열이 숫자 기반 형식으로 자동으로 변경되지 않았으며, 그 이유는 다음 몇 단락에서 살펴보겠습니다.

이 쿼리로 작업하려면 먼저 해당 데이터를 원하는 위치로 가져오기 위해 몇 가지 변경을 수행해야 합니다.

  • 첫 번째 열 제거 – 이 열은 필요하지 않습니다. 이 데이터 원본이 웹 기반 테이블이 된 아티팩트로, "Check out how your state ranks for retirement"라고 표시하는 중복 행을 포함합니다.

  • 몇 가지 오류 수정 – 열 중 하나인 Health care quality에는 주 순위에 몇 개의 동률이 있으며, 번호 뒤에 (동룔) 텍스트를 포함하여 웹 사이트에 표시됩니다. 이는 웹 사이트에서 효과적이지만 열을 텍스트에서 데이터로 수동으로 변환해야 합니다. Power BI Desktop을 사용하여 이 오류를 쉽게 수정할 수 있으며, 이 과정에서 쿼리의 적용된 단계 기능이 얼마나 유용한지 확인할 수 있습니다.

  • 테이블 이름 변경Table 0 은 유용한 설명자가 아니지만 간단하게 변경할 수 있습니다.

첫 번째 열을 제거하려면 다음 그림과 같이 해당 열을 선택하고 리본에서 탭을 선택한 다음 열 제거 를 선택하면 됩니다.

이제 텍스트 열을 처리하고 숫자로 변환해야 합니다. 처음에는 간단하게 Health care quality 열의 형식을 텍스트에서 숫자(예: 정수 또는 10진수)로 변경할 수 있는 것처럼 보입니다. 그러나 형식을 텍스트 에서 정수로 변경하고 해당 열의 값을 살펴보면 쿼리 편집기에 몇 가지 오류가 보고된 것을 알 수 있습니다.

각 오류에 대한 자세한 내용을 확인할 수 있는 몇 가지 방법이 있습니다. 오류단어를 클릭하지 않고 셀을 선택하거나 오류 단어를 직접 클릭할 수 있습니다. 오류 단어를 직접 클릭하지 않고셀을 선택하는 경우 쿼리 편집기의 창 아래쪽에 오류 정보가 표시됩니다.

오류 단어를 직접 클릭하면 쿼리가 쿼리 설정 창에 적용된 단계 를 만들고 오류에 대한 정보를 표시합니다.

쿼리 편집기로 돌아가려면 해당 단계 옆에 있는 X 를 선택하여 단계를 제거해야 합니다.

최근의 적용된 단계를 선택하면 다음 이미지와 같이 방금 설명한 오류가 표시됩니다.

쿼리 편집기가 단계를 순차적으로 기록하므로 다음 이미지와 같이 형식을 변경하기 전에 적용된 단계에서 단계를 선택하고 변환 전의 해당 셀 값을 확인할 수 있습니다.

이제 이러한 값을 수정한 다음 형식을 변경할 수 있습니다. 쿼리 편집기가 단계를 순차적으로 기록하면서도 서로 독립적이므로 각 적용된 단계 를 시퀀스에서 위나 아래로 이동할 수 있습니다. 단계를 마우스 오른쪽 단추로 클릭하면 쿼리 편집기가 이름 바꾸기, 삭제, 끝까지 삭제 (현재 단계 및 모든 후속 단계 제거), 위로 이동또는 아래로 이동을 수행할 수 있는 메뉴를 제공합니다.

또한 목록에서 적용된 단계 를 선택하고 시퀀스의 해당 지점에서 데이터 셰이핑을 계속할 수 있습니다. 쿼리 편집기가 현재 선택한 적용된 단계바로 뒤에 새 단계를 자동으로 삽입합니다. 직접 시도해 보겠습니다.

먼저 Health care quality 열의 형식을 변경하기 전에 적용된 단계 를 선택합니다. 그런 다음 셀에 "(동률)" 텍스트가 포함된 값을 숫자만 남도록 바꿉니다. "35(동률)"가 포함된 셀을 마우스 오른쪽 단추로 클릭하고 나타나는 메뉴에서 값 바꾸기... 를 선택합니다. 현재 선택한 적용된 단계 (형식을 변경하기 전의 단계)를 확인합니다.

단계를 삽입하기 때문에 쿼리 편집기가 계속할 경우 후속 단계로 인해 쿼리가 중단될 수 있다고 경고합니다. 신중하게 작업해야 합니다. 이것은 자습서이고 쿼리 편집기의 유용한 기능을 강조해서 단계를 만들고 삭제 및 삽입하고, 단계를 다시 정렬하는 방법을 보여 주려고 하기 때문에 계속해서 삽입을 선택합니다.

세 개의 동률이 있으므로 각 값을 바꿉니다. 새 적용된 단계를 만들 때 쿼리 편집기는 작업, 이 경우 Replaced Value를 기반으로 하여 이름을 지정합니다. 쿼리에 동일한 이름을 가진 단계가 둘 이상 있을 경우 쿼리 편집기가 각 후속 적용된 단계 에 번호를 순서대로 추가하여 구분합니다.

다음 화면에서는 쿼리 설정Replaced Value 단계 3개를 보여 주지만 보다 흥미로운 사항도 보여 줍니다. Health care quality 열에서 "(동룔)" 텍스트의 각 인스턴스를 제거했으므로 이제 변경된 형식 단계가 오류 없이 완료됩니다.

참고: 오류가 있는 행을 모두 제거하는 오류 제거를 수행할 수도 있습니다(리본 또는 오른쪽 클릭 메뉴 사용). 이 경우 데이터에서 "(동률)"이 포함된 모든 주가 제거되었으며, 이 작업을 원했던 것이 아닙니다. 모든 주를 좋아하고 테이블에 유지하려고 합니다.

약간 복잡하긴 하지만 쿼리 편집기가 얼마나 강력하고 유연할 수 있는지를 보여 주는 좋은 예입니다.

마지막으로, 해당 테이블의 이름을 설명이 포함된 다른 이름으로 변경하려고 합니다. 보고서를 만드는 경우 특히 여러 데이터 소스에 연결할 때 설명이 포함된 테이블 이름을 사용하면 유용하며, 모두 보고서 보기의 필드 창에 나열됩니다.

테이블 이름은 쉽게 변경할 수 있습니다. 쿼리 설정 창의 속성 아래에 다음 이미지와 같이 테이블의 새 이름을 입력한 다음 Enter 키를 누릅니다. 이 테이블을 RetirementStats라고 부르겠습니다.

이제 필요한 범위까지 데이터를 셰이핑했습니다. 이제 다른 데이터 소스에 연결하고 데이터를 결합하겠습니다.

데이터 결합

다양한 주와 관련된 데이터는 흥미로우며 추가 분석 노력 및 쿼리를 작성하는 데 유용합니다. 그러나 한 가지 문제가 있습니다. 대부분의 데이터는 주의 전체 이름이 아니라 주 코드를 나타내는 2자로 된 약어를 사용합니다. 주 이름을 해당 약어와 연결하는 방법이 필요합니다.

다행히 이 작업을 수행하는 다른 공용 데이터 소스가 있지만 은퇴 테이블에 연결하려면 먼저 상당한 모양 지정이 필요합니다. 다음은 주 약어에 대한 웹 리소스입니다.

http://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations

쿼리 편집기의 리본에서 새 원본> 웹을 선택하고 주소를 입력한 다음 확인을 선택하면 탐색기에 해당 웹 페이지에서 발견된 사항이 표시됩니다.

원하는 데이터를 포함하지만 해당 테이블의 데이터를 원하는 데이터까지 줄이려면 상당한 세이핑이 필요하므로 테이블[편집] 을 선택합니다.

팁: 아래 단계를 수행하는 더 빠르거나 쉬운 방법이 있나요? 예, 두 테이블 간의 관계를 만들고 해당 관계를 기반으로 데이터의 모양을 지정할 수 있습니다. 다음 단계에 따라 테이블이 작동하는 방식을 이해하고 관계가 여러 테이블의 데이터를 빠르게 사용하는 데 어떻게 도움이 되는지 파악할 수 있습니다.

이 데이터를 모양으로 가져오려면 다음 단계를 수행합니다.

  • 상위 두 행 제거 – 웹 페이지의 테이블이 생성된 방식의 결과이며 필요하지 않습니다. 리본에서 행 줄이기 >행 제거 >상위 행 제거를 선택합니다.

제거할 행 수를 지정할 수 있는 상위 행 제거 창이 나타납니다.

  • 하위 26개 행 제거 – 모두 지역이므로 포함할 필요가 없습니다. 리본에서 행 줄이기 > 행 제거 >하위 행 제거를 선택합니다.

  • RetirementStats 테이블에 워싱턴 DC에 대한 정보가 없으므로 목록에서 필터링해야 합니다. 영역 상태 열 옆에 있는 드롭다운 화살표를 선택한 다음 연방 구역옆에 있는 확인란의 선택을 취소합니다.

  • 몇 개의 불필요한 열 제거 – 주와 2자로 된 공식 약어 간의 매핑만 필요하므로 Column2, Column3, Column5 ~ Column10까지의 열을 제거할 수 있습니다. 먼저 Column2를 선택하고 CTRL 키를 누른 채 제거할 다른 열을 선택합니다. 이렇게 하면 연속하지 않는 여러 열을 선택할 수 있습니다. 리본의 홈 탭에서 열 제거 > 열 제거>를 선택합니다.

  • 첫 행을 머리글로 사용 – 상위 3개의 행을 제거했으므로 현재 첫 행이 원하는 머리글입니다. 리본의 탭이나 변환 탭에서 Use First Row As Headers(첫 행을 머리글로 사용) 를 선택할 수 있습니다.

참고: 이 시점에서 쿼리 편집기에서 적용된 단계의 시퀀스가 중요하며 데이터의 셰이핑 방식에 영향을 줄 수 있음에 주목하는 것이 좋습니다. 또한 한 단계가 다른 후속 단계에 미칠 수 있는 영향을 고려하는 것이 중요합니다. 적용된 단계에서 한 단계를 제거하면 쿼리의 단계 시퀀스 영향 때문에 후속 단계가 의도한 대로 동작하지 않을 수 있습니다.

추가 참고: 너비를 줄이기 위해 쿼리 편집기 창의 크기를 조정할 때 보이는 공간을 최대한 활용하기 위해 일부 리본 항목이 압축됩니다. 쿼리 편집기 창의 너비를 늘리면 늘어난 리본 영역을 최대한 활용하기 위해 리본 항목이 확장됩니다.

  • 열과 테이블 자체의 이름 바꾸기 – 일반적으로 열의 이름을 바꾸는 몇 가지 방법이 있습니다. 먼저 열을 선택한 다음 리본의 변환 탭에서 이름 바꾸기를 선택하거나 마우스 오른쪽 단추를 클릭하고 나타나는 메뉴에서 이름 바꾸기... 를 선택합니다. 다음 그림에는 두 옵션을 가리키는 화살표가 있습니다. 하나만 선택해야 합니다.

이름을 State Name 및 State Code로 바꾸겠습니다. 테이블의 이름을 바꾸려면 쿼리 설정 창의 이름 상자에 이름을 입력하면 됩니다. 이 테이블을 StateCodes라고 부르겠습니다.

이제 StateCodes 테이블을 원하는 방식으로 셰이핑했으므로 이러한 두 테이블 또는 쿼리를 하나로 결합하겠습니다. 이제 테이블이 데이터에 적용한 쿼리의 결과이므로 쿼리라고도 합니다.

쿼리를 결합하는 기본 방법에는 병합 및 추가의 두 가지가 있습니다.

다른 쿼리에 추가하려는 열이 하나 이상 있는 경우 쿼리를 병합 합니다. 기존 쿼리에 추가하려는 데이터 행이 더 있는 경우 쿼리를 추가 합니다.

이 경우 쿼리를 병합하려고 합니다. 시작하려면 쿼리 편집기의 왼쪽 창에서 다른 쿼리를 병합하려는 경우 넣을 쿼리를 선택하며 이 경우에는 RetirementStats입니다. 그런 다음 리본 메뉴의 홈>탭에서 결합 병합 쿼리를 선택합니다.

전송하지 않으려는 데이터를 포함하거나 전송하지 않는 상태로 데이터가 결합되도록 개인 정보 수준을 설정하라는 메시지가 표시될 수 있습니다.

그런 다음 병합 창이 나타나고, 선택한 테이블에 병합하려는 테이블 및 병합에 사용할 일치하는 열을 선택하라는 메시지가 표시됩니다. RetirementStats 테이블(쿼리)에서 State를 선택한 다음 StateCodes 쿼리를 선택합니다. 이 경우에는 다른 쿼리가 하나뿐이므로 쉽지만 여러 데이터 원본에 연결하는 경우 많은 쿼리 중에서 선택해야 합니다. 일치하는 열(RetirementStats의 State 및 StateCodes의 State Name)을 올바르게 선택하면 병합 창이 다음과 같이 나타나고 확인 단추를 사용할 수 있습니다.

기존 쿼리와 병합된 테이블(쿼리)의 내용인 NewColumn 이 쿼리의 끝 부분에 만들어집니다. 병합된 쿼리의 모든 열이 NewColumn에 압축되지만 테이블을 확장 하도록 선택하고 원하는 모든 열을 포함할 수 있습니다.

병합된 테이블을 확장하고 포함할 열을 선택하려면 확장 아이콘(확장 )을 선택합니다. 확장 창이 나타납니다.

이 경우 State Code 열만 포함하려고 하므로 해당 열만 선택하고 확인을 선택합니다. 필요하지 않거나 원하지 않으므로 Use original column name as prefix(원래 열 이름을 접두사로 사용) 확인란을 선택 취소합니다. 선택된 상태로 두면 병합된 열의 이름이 NewColumn.State Code(원래 열 이름 또는 NewColumn, 점, 쿼리로 가져오는 열 이름)로 지정됩니다.

참고: NewColumn 테이블에 가져오는 방법을 알아보고 싶으세요? 몇 가지를 실험한 후 결과가 만족스럽지 않으면 쿼리 설정 창의 적용된 단계 목록에서 해당 단계를 삭제합니다. 쿼리가 해당 확장 단계를 적용하기 전의 상태로 돌아갑니다. 확장 프로세스가 원하는 방식으로 표시될 때까지 원하는 횟수만큼 수행할 수 있는 무료 반복 서비스와 같습니다.

이제 각각 요구 사항에 맞게 모양이 지정된 두 데이터 소스를 결합하는 단일 쿼리(테이블)가 있습니다. 이 쿼리는 임의 주의 주택 비용 통계, 인구 통계 또는 구직 기회와 같은 흥미로운 많은 추가 데이터 연결의 기초로 사용될 수 있습니다.

변경 내용을 적용하고 쿼리 편집기를 닫으려면 리본 탭에서 닫기 및 적용을 선택합니다. 변환된 데이터 집합은 Power BI Desktop에 표시되고 보고서를 만드는 데 사용할 준비가 되었습니다.

자세한 내용

Power BI Desktop에서 모든 종류의 작업을 수행할 수 있습니다. 해당 기능에 대한 자세한 내용은 다음 리소스를 확인하세요.