다음을 통해 공유


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

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

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

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

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

데이터 셰이핑

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

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

쿼리 설정 창과 적용된 단계 목록이 있는 Power Query 편집기의 스크린샷

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

    데이터 가져오기 메뉴와 웹 원본이 선택된 Power Query 편집기의 스크린샷

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

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

    원본 페이지의 URL이 입력된 Power Query 편집기 웹에서 대화 상자의 스크린샷

  3. 탐색기 대화 상자에서 Individual factor scores(으)로 시작하는 항목의 확인란을 선택한 다음 데이터 변환을 선택합니다.

    HTML 표 1이 선택되고 데이터 변환 단추가 강조 표시된 Power Query 편집기 탐색기 대화 상자의 스크린샷

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

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

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

    쿼리 설정이 강조 표시된 Power Query 편집기 창의 스크린샷

  5. 테이블 이름을 기본값 Individual factor scores...에서 Retirement Data로 변경한 다음 확인을 누릅니다.

    쿼리 설정에서 테이블 이름을 편집하는 방법을 보여 주는 Power Query 편집기 스크린샷

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

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

    사용자 지정 열 단추가 강조 표시된 Power Query 편집기 열 추가 리본의 스크린샷

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

    ( [Quality of life] + [Cost of housing] + [Public health] + [Crime] + [Taxes] + [Weather] + [#"Non-housing cost of living"] ) / 7
    
  9. 상태 메시지가 ‘구문 오류가 검색되지 않았습니다.’인지 확인하고 확인을 선택합니다.

    새 열 이름, 사용자 지정 열 수식 및 구문 오류가 검색되지 않았습니다 오류를 보여 주는 Power Query 편집기 사용자 지정 열 대화 상자의 스크린샷

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

    지금까지의 작업이 포함된 적용된 단계 목록을 보여 주는 Power Query 편집기 쿼리 설정 창의 스크린샷

데이터 조정

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

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

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

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

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

  • 데이터를 정렬합니다.

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

  • 데이터를 바꿉니다.

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

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

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

    열 제거 단추가 강조 표시된 Power Query 편집기 홈 메뉴의 스크린샷

    참고 항목

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

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

    Power Query 편집기의 적용된 단계 상황에 맞는 메뉴의 스크린샷

  3. 컨텍스트 메뉴에서 이전으로 이동을 선택하여 마지막 단계인 제거된 열추가된 사용자 지정 단계 바로 위로 이동시킵니다. 마우스를 사용하여 단계를 원하는 위치로 이동할 수도 있습니다.

    이제 제거된 열 단계가 사용자 지정 열 단계 위로 이동된 Power Query 편집기의 적용된 단계 목록의 스크린샷

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

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

    오류 값이 포함된 Power Query 편집기 및 New score 열의 스크린샷

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

    오류 세부 정보가 있는 New score 열을 보여 주는 Power Query 편집기 스크린샷

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

  5. 오류를 해결을 위해 변경 되어야 할 두 가지 사항: 열 이름인 Weather를 제거하고 제수를 7에서 6으로 변경 다음과 같은 두 가지 방법으로 변경할 수 있습니다.

    1. 추가된 사용자 지정 단계를 마우스 오른쪽 단추로 클릭하고 설정 편집을 선택하거나 단계 이름 옆의 톱니바퀴 아이콘을 클릭하여 새 점수 열을 만들 때 사용한 사용자 지정 열 대화 상자를 불러옵니다. 다음과 같이 표시될 때까지 앞에서 설명한 대로 수식을 편집합니다.

      수식 오류가 수정된 Power Query 편집기 사용자 지정 열 대화 상자의 스크린샷

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

      New score 열과 오류가 수정된 데이터 수식을 보여 주는 Power Query 편집기 스크린샷

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

      = Table.AddColumn(#"Removed Columns", "New score", each ( [Quality of life] + [Cost of housing] + [Public health] + [Crime] + [Taxes] + [#"Non-housing cost of living"] ) / 6)
      

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

    참고 항목

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

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

    내림차순 정렬이 강조 표시된 New score 열을 보여 주는 Power Query 편집기의 스크린샷

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

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

    값 바꾸기 마우스 오른쪽 단추 클릭 메뉴 항목이 강조 표시된 Housing cost 열을 보여 주는 Power Query 편집기 창의 스크린샷

  8. 삽입을 선택합니다.

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

    Power Query 편집기 단계 삽입 확인 대화 상자의 스크린샷

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

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

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

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

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

데이터 결합

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

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

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

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

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

    선택한 코드 및 약어 테이블을 보여 주는 Power Query 편집기 탐색기 페이지의 스크린샷

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

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

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

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

    행 제거 드롭다운과 상위 행 제거 항목을 강조 표시하는 Power Query 편집기 스크린샷

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

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

    State 값만 선택된 열 필터를 보여 주는 Power Query 편집기의 스크린샷

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

    열 제거 드롭다운과 다른 열 제거 항목을 강조 표시한 Power Query 편집기의 스크린샷

    참고 항목

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

    참고 항목

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

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

    이름 바꾸기 단추와 마우스 오른쪽 단추로 이름 바꾸기 항목이 표시된 것을 강조 표시하는 Power Query 편집기 스크린샷

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

    주 코드 원본 데이터를 테이블로 셰이핑한 결과를 보여 주는 Power Query 편집기 창의 스크린샷

쿼리 결합

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

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

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

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

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

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

    쿼리 병합 항목이 강조 표시된 Power Query 편집기의 쿼리 병합 드롭다운의 스크린샷

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

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

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

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

    Power Query 편집기 병합 대화 상자의 스크린샷

  4. 확인을 선택합니다.

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

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

    확장 창이 나타납니다.

    State Code 열이 강조 표시된 Power Query 편집기 열 확장 대화 상자의 스크린샷

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

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

    참고 항목

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

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

  7. 변경 내용을 적용하고 파워 쿼리 편집기를 닫으려면 리본 탭에서 닫기 및 적용을 선택합니다.

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

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