자습서: Power BI Desktop에서 데이터 셰이핑 및 결합

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

이 자습서에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • 파워 쿼리 편집기를 사용하여 데이터 셰이핑
  • 다양한 데이터 원본에 연결
  • 데이터 원본을 결합하고 보고서에서 사용할 데이터 모델 만들기

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

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

데이터 셰이핑

Power Query 편집기에서 데이터를 셰이핑하기 위해 Power Query 편집기에서 데이터를 로드하여 표시할 때 데이터 조정을 위해 수행할 단계별 지침을 제공합니다. 원래 데이터 원본은 영향을 받지 않습니다. 이 특정 데이터 보기만 조정되거나 ‘셰이핑’됩니다.

지정한 단계(테이블 이름 바꾸기, 데이터 형식 변환, 열 삭제 등)는 파워 쿼리 편집기에 기록됩니다. 이 쿼리가 데이터 원본에 연결될 때마다 파워 쿼리 편집기에서 해당 단계를 수행하여 데이터가 항상 지정된 방식으로 셰이핑되도록 합니다. 이 프로세스는 파워 쿼리 편집기를 사용할 때마다 또는 Power BI 서비스 등에서 공유 쿼리를 사용하는 모든 사용자에 대해 수행됩니다. 해당 단계는 순차적으로 쿼리 설정 창의 적용된 단계 아래에 캡처됩니다. 이 문서에서 다음 각 단계를 살펴보겠습니다.

Screenshot of Power Query Editor with the Query Settings pane and Applied steps list.

  1. 웹 원본에서 데이터를 가져옵니다. 데이터 가져오기 드롭다운을 선택한 다음 을 선택합니다.

    Screenshot of Power Query Editor with the Get data menu and Web source selected.

  2. 이 URL을 웹에서 대화 상자에 붙여넣고 확인을 선택합니다.

    https://www.fool.com/research/best-states-to-retire
    

    Screenshot of Power Query Editor's From Web dialog with the source page's URL entered.

  3. 탐색기 대화 상자에서 Table 1을 선택한 다음 데이터 변환을 선택합니다.

    Screenshot of Power Query Editor's Navigator dialog with HTML Table 1 selected and the Transform Data button highlighted.

이전 URL의 테이블에 있는 일부 정보는 때때로 변경되거나 업데이트될 수 있습니다. 따라서 이 문서의 선택 항목 또는 단계를 적절하게 조정해야 할 수 있습니다.

  1. Power Query 편집기 창이 열립니다. 지금까지 적용된 기본 단계는 적용된 단계 아래의 쿼리 설정 창에서 확인할 수 있습니다.

    • 원본: 웹 사이트에 연결합니다.
    • Html에서 추출된 테이블: 테이블을 선택합니다.
    • 승격된 헤더: 데이터의 위쪽 행을 열 머리글로 변경합니다.
    • 변경된 형식: 텍스트로 가져온 열 형식을 유추된 형식으로 변경합니다.

    Screenshot of the Power Query Editor window with Query Settings highlighted.

  2. 테이블 이름을 기본값 Table 1에서 Retirement Data로 변경한 다음 확인을 누릅니다.

    Screenshot of Power Query Editor showing how to edit a table name in Query Settings.

  3. 기존 데이터는 방법론 아래의 원본 웹 페이지에 설명된 대로 가중 점수로 정렬됩니다. 사용자 지정 열을 추가하여 다른 점수를 계산해 보겠습니다. 그런 다음 이 열의 테이블을 정렬하여 사용자 지정 점수의 순위를 기존 순위와 비교하겠습니다.

  4. 열 추가 리본에서 사용자 지정 열을 선택합니다.

    Screenshot of Power Query Editor's Add Column ribbon with the Custom Column button highlighted.

  5. 사용자 지정 열 대화 상자의 새 열 이름New Score를 입력합니다. 사용자 지정 열 수식에 다음 데이터를 입력합니다.

    ( [Quality of life] + [Housing cost] + [Healthcare cost and quality] + [Crime rate rate] + [#"Public health/COVID-19 response"] + [Sales taxes] + [#"Non-housing costs"] + [Weather] ) / 8
    
  6. 상태 메시지가 ‘구문 오류가 검색되지 않았습니다.’인지 확인하고 확인을 선택합니다.

    Screenshot of Power Query Editor's Custom Column dialog showing the new column name, custom column formula, and no syntax errors.

  7. 이제 쿼리 설정에서 적용된 단계 목록에 방금 정의한 새 추가된 사용자 지정 항목 단계가 표시됩니다.

    Screenshot of Power Query Editor's Query Settings pane showing the Applied Steps list with the actions so far.

데이터 조정

이 쿼리를 사용하기 위해 먼저 다음과 같은 몇 가지 변경 작업을 수행하여 데이터를 조정해 보겠습니다.

  • 열을 제거하여 순위를 조정합니다.

    예를 들어 Weather는 결과의 요인이 아니라고 가정합니다. 쿼리에서 이 열을 제거해도 다른 데이터에는 영향을 주지 않습니다.

  • 모든 오류를 수정합니다.

    열을 제거했기 때문에 수식을 변경하여 New Score 열의 계산을 다시 조정해야 합니다.

  • 데이터를 정렬합니다.

    New Score 열을 기준으로 데이터를 정렬하고 기존 Rank 열과 비교합니다.

  • 데이터를 바꿉니다.

    특정 값을 바꾸는 방법과 적용된 단계를 삽입하는 방법을 강조 표시하겠습니다.

해당 변경 내용은 다음 단계에서 설명합니다.

  1. Weather 열을 제거하려면 열을 선택하고 리본에서 탭을 선택한 다음, 열 제거를 선택합니다.

    Screenshot of Power Query Editor's Home menu with the Remove Columns button highlighted.

    참고 항목

    단계의 순서 때문에 New score 값은 변경되지 않았습니다. Power Query 편집기에서는 단계를 순차적으로, 그러나 상호 독립적으로 기록합니다. 다른 순서로 작업을 적용하려면 적용된 각 단계를 위아래로 이동할 수 있습니다.

  2. 해당 상황에 맞는 메뉴를 보려면 단계를 마우스 오른쪽 단추로 클릭합니다.

    Screenshot of Power Query Editor's Applied Steps context menu.

  3. 마지막 단계인 제거된 열추가된 사용자 지정 단계 바로 위로 이동합니다.

    Screenshot of Power Query Editor's Applied Steps list with the Removed Columns step now moved above the Custom Column step.

  4. 추가된 사용자 지정 단계를 선택합니다.

    이제 New score 열에 계산된 값이 아닌 오류가 표시됩니다.

    Screenshot of Power Query Editor and the New score column containing Error values.

    각 오류에 대한 자세한 내용을 확인할 수 있는 몇 가지 방법이 있습니다. ‘오류’ 단어를 클릭하지 않고 셀을 선택하면, 파워 쿼리 편집기에서 오류 정보가 표시됩니다.

    Screenshot of Power Query Editor showing the New score column with Error details.

    ‘오류’ 단어를 직접 선택하면, 파워 쿼리 편집기는 쿼리 설정 창에 적용된 단계를 만들고 오류 정보를 표시합니다. 다른 곳에서는 오류 정보를 표시할 필요가 없으므로 취소를 선택합니다.

  5. 오류를 해결하려면 열 이름인 Weather를 제거하고 제수를 8에서 7로 변경하는 두 가지 변경이 필요합니다. 다음과 같은 두 가지 방법으로 변경할 수 있습니다.

    1. 사용자 지정 열 단계를 마우스 오른쪽 단추로 클릭하고 설정 편집을 선택합니다. 그러면 New score 열을 만드는 데 사용한 사용자 지정 열 대화 상자가 표시됩니다. 다음과 같이 표시될 때까지 앞에서 설명한 대로 수식을 편집합니다.

      Screenshot of Power Query Editor's Custom Column dialog with formula errors fixed.

    2. New score 열을 선택한 다음, 보기 탭에서 수식 입력줄 확인란을 선택하여 열의 데이터 수식을 표시합니다.

      Screenshot of Power Query Editor showing the New score column and its data formula with errors fixed.

      앞에서 설명한 대로 수식이 다음과 같이 표시될 때까지 수식을 편집한 다음 확인을 누릅니다.

      = Table.AddColumn(#"Removed Columns", "New score", each ( [Quality of life] + [Housing cost] + [Healthcare cost and quality] + [Crime rate rate] + [#"Public health/COVID-19 response"] + [Sales taxes] + [#"Non-housing costs"] ) / 7)              
      

    파워 쿼리 편집기에서 데이터를 수정된 값으로 바꾸고 추가된 사용자 지정 단계가 오류 없이 완료됩니다.

    참고 항목

    리본이나 오른쪽 클릭 메뉴를 사용하여 오류가 있는 행을 모두 제거하는 오류 제거를 선택할 수도 있습니다. 그러나 이 자습서에서는 모든 데이터를 테이블에 보존합니다.

  6. New score 열을 기준으로 데이터를 정렬합니다. 먼저 마지막 적용된 단계인 추가된 사용자 지정 항목을 선택하여 가장 최근 데이터에 액세스합니다. 그런 다음, New score 열 머리글 옆에 있는 드롭다운을 선택하고 내림차순 정렬을 선택합니다.

    Screenshot of Power Query Editor showing the New score column with Sort Descending highlighted.

    이제 데이터가 New score에 따라 정렬되었습니다. 목록 어디에서나 적용된 단계를 선택하고 시퀀스의 해당 지점에서 데이터를 계속 셰이핑할 수 있습니다. Power Query 편집기에서 현재 선택한 적용된 단계 바로 뒤에 새 단계를 자동으로 삽입합니다.

  7. 적용된 단계에서 사용자 지정 열 앞에 있는 단계(제거된 열 수 단계)를 선택합니다. 여기서는 Oregon주의 Housing cost 순위 값을 바꾸겠습니다. Oregon주의 Housing cost 값이 포함된 셀을 마우스 오른쪽 단추로 클릭한 다음 값 바꾸기를 선택합니다. 현재 선택된 적용된 단계를 확인합니다.

    Screenshot of the Power Query Editor window showing the Housing cost column with the Replace Values right-click menu item highlighted.

  8. 삽입을 선택합니다.

    단계를 삽입하기 때문에 Power Query 편집기에서 후속 단계로 인해 쿼리가 중단될 수 있다는 메시지를 표시합니다.

    Screenshot of Power Query Editor's Insert Step verification dialog.

  9. 데이터 값을 100.0으로 변경합니다.

    Power Query 편집기에서 Oregon의 데이터를 바꿉니다. 새 적용된 단계를 만들 때 Power Query 편집기에서는 작업에 따라 단계 이름을 지정합니다(이 예제에서는 바꾼 값). 쿼리에 동일한 이름을 가진 단계가 둘 이상 있을 경우 Power Query 편집기에서 각 후속 적용된 단계의 이름에 번호를 늘려가며 추가합니다.

  10. 마지막 적용된 단계정렬된 행 수를 선택합니다.

    Oregon의 새 순위와 관련해서 데이터가 변경된 것을 확인합니다. 이 순위 변경은 추가된 사용자 지정 단계 앞의 올바른 위치에 바꾼 값 단계를 삽입했기 때문입니다.

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

데이터 결합

여러 주와 관련된 흥미로운 데이터는 추가적인 분석 활동과 쿼리 작성에 유용할 것입니다. 그러나 주와 관련된 대부분의 데이터는 주의 전체 이름이 아니라 두 글자로 된 약어를 주 코드로 사용합니다. 주 이름을 해당 약어에 연결하는 방법이 필요합니다.

주 이름과 약어를 연결해 제공하는 다른 퍼블릭 데이터 원본이 있지만 은퇴 테이블에 연결하려면 상당한 셰이핑 작업이 필요합니다. 데이터를 셰이핑하려면 다음 단계를 수행합니다.

  1. 파워 쿼리 편집기의 리본에서 새 원본 > 웹을 선택합니다.

  2. 주 약어의 웹 사이트 주소(https://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations)를 입력하고 연결을 선택합니다.

    탐색기에 웹 사이트의 콘텐츠가 표시됩니다.

    Screenshot of Power Query Editor's Navigator page showing the Codes and abbreviations table selected.

  3. Codes and abbreviations for U.S. states, federal district, territories, and other regions를 선택합니다.

    이 테이블의 데이터를 원하는 항목으로 줄이려면 약간의 셰이핑이 필요합니다. 다음 단계를 수행하는 더 빠르거나 쉬운 방법이 있을까요? 예, 두 테이블 간의 관계를 만들고 해당 관계를 기반으로 데이터의 모양을 지정할 수 있습니다. 다음 예제 단계는 테이블 작업을 하는 데 있어서 알아보면 좋습니다. 그러나 관계는 여러 테이블의 데이터를 빠르게 사용하는 데 도움이 될 수 있습니다.

데이터를 셰이핑하려면 다음 단계를 수행합니다.

  1. 상위 행을 제거합니다. 상위 행은 웹 페이지의 테이블을 만든 방식의 결과이므로 필요하지 않습니다. 리본 메뉴에서 행 제거 > 상위 행 제거를 선택합니다.

    Screenshot of Power Query Editor highlighting the Remove Rows dropdown and the Remove Top Rows item.

    상위 행 제거 대화 상자가 표시됩니다. 제거할 행 하나를 지정합니다.

  2. 탭 또는 리본의 변환 탭에서 첫 행을 머리글로 사용으로 새 상위 행을 머리글로 승격합니다.

  3. Retirement Data 테이블에는 워싱턴 DC 또는 지역에 대한 정보가 없으므로 목록에서 필터링해야 합니다. Name and status of region_1 열의 드롭다운을 선택한 다음 State를 제외하고 모든 확인란의 선택을 취소합니다.

    Screenshot of Power Query Editor showing a column filter with only the State value selected.

  4. 불필요한 열을 모두 제거합니다. 각 주를 두 글자로 된 공식 약어(Name and status of regionANSI 열)에 매핑하기만 하면 되므로 다른 열을 제거할 수 있습니다. 먼저 Name and status of region 열을 선택한 다음 CTRL 키를 누른 채 ANSI 열을 선택합니다. 리본의 탭에서 열 제거 >다른 열 제거를 선택합니다.

    Screenshot of Power Query Editor highlighting the Remove Columns dropdown and the Remove Other Columns item.

    참고 항목

    Power Query 편집기에서 적용된 단계의 시퀀스는 중요하며 데이터의 셰이핑 방식에 영향을 줄 수 있습니다. 또한 하나의 단계가 다른 후속 단계에 어떤 영향을 주는지도 고려해야 합니다. 예를 들어 적용된 단계에서 하나의 단계를 제거하면 후속 단계들이 원래 의도한 대로 작동하지 않을 수 있습니다.

    참고 항목

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

  5. 열과 테이블의 이름을 바꿉니다. 열의 이름을 바꾸는 몇 가지 방법이 있습니다. 먼저 열을 선택한 다음 리본의 변환 탭에서 이름 바꾸기를 선택하거나 마우스 오른쪽 단추를 클릭하고 이름 바꾸기를 선택합니다. 다음 이미지에서는 두 옵션을 모두 보여 주지만 실제로는 하나만 선택해야 합니다.

    Screenshot of Power Query Editor highlighting the Rename button and also the Rename right-click item.

  6. 열 이름을 State NameState Code로 바꿉니다. 테이블 이름을 바꾸려면 쿼리 설정 창에 이름State Codes를 입력합니다.

    Screenshot of Power Query Editor window showing the results of shaping state codes source data into a table.

쿼리 결합

이제 State Codes 테이블을 원하는 방식으로 셰이핑했으므로 두 개의 테이블 또는 쿼리를 하나로 결합하겠습니다. 현재 테이블은 데이터에 적용한 쿼리의 결과이기 때문에 ‘쿼리’라고도 합니다.

쿼리를 결합하는 기본적인 방법으로는 병합추가라는 두 가지 방법이 있습니다.

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

이 예제에서는 쿼리를 병합하려고 합니다.

  1. 파워 쿼리 편집기의 왼쪽 창에서 다른 쿼리와 병합하려는 쿼리를 선택합니다. 예제에서는 Retirement Data입니다.

  2. 리본의 탭에서 쿼리 병합 > 쿼리 병합을 선택합니다.

    Screenshot of Power Query Editor's Merge Queries dropdown with the Merge Queries item highlighted.

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

    병합 창이 나타납니다. 선택한 테이블에 병합하려는 테이블 및 병합에 사용할 일치 열을 선택하라는 메시지가 표시됩니다.

  3. Retirement Data 테이블에서 State를 선택한 다음 State Codes 쿼리를 선택합니다.

    일치하는 열을 선택하면 확인 단추가 활성화됩니다.

    Screenshot of Power Query Editor's Merge dialog.

  4. 확인을 선택합니다.

    파워 쿼리 편집기는 기존 쿼리와 병합된 테이블(쿼리)의 콘텐츠를 포함하는 새 열을 쿼리의 끝에 만듭니다. 병합된 쿼리의 모든 열은 해당 열에 요약되지만 테이블을 확장하고 원하는 열을 포함할 수 있습니다.

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

    확장 창이 나타납니다.

    Screenshot of Power Query Editor's column Expand dialog showing the State Code column highlighted.

  6. 이 예제에서는 State Code 열만 필요합니다. 해당 열을 선택하고 원래 열 이름을 접두사로 사용의 선택을 취소한 다음, 확인을 선택합니다.

    원래 열 이름을 접두사로 사용 확인란을 선택된 상태로 두면, 병합된 열의 이름은 State Codes.State Code가 됩니다.

    참고 항목

    State Codes 테이블을 가져오는 방법을 알아보려면 약간의 실험을 해도 좋습니다. 결과가 만족스럽지 않으면 쿼리 설정 창의 적용된 단계 목록에서 해당 단계를 삭제합니다. 그러면 쿼리가 확장 단계를 적용하기 전의 상태로 돌아갑니다. 확장 프로세스가 원하는 방식으로 표시될 때까지 원하는 횟수만큼 이 작업을 수행할 수 있습니다.

    이제 각각 요구 사항에 맞게 셰이핑된 두 개의 데이터 원본을 결합하는 단일 쿼리(테이블)가 생성되었습니다. 이 쿼리는 주의 주택 비용 통계, 삶의 질 또는 범죄율과 같은 흥미로운 데이터 연결의 기반이 될 수 있습니다.

  7. 변경 내용을 적용하고 Power Query 편집기 닫려면 홈 리본 탭에서 닫기 및 적용선택합니다.

    변환된 의미 체계 모델은 Power BI Desktop에 표시되고 보고서를 만드는 데 사용할 준비가 되었습니다.

    Screenshot of Power Query Editor's Close & Apply button.

Power BI Desktop 및 해당 기능에 대한 자세한 내용은 다음 리소스를 참조하세요.