다음을 통해 공유


데이터 랭글링에 대한 파워 쿼리의 변환 함수

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

Azure Data Factory의 데이터 랭글링를 사용하면 파워 쿼리 M 스크립트를 데이터 흐름 스크립트로 변환하여 클라우드 스케일에서 코드 없는 신속한 데이터 준비 및 랭글링을 수행할 수 있습니다. ADF는 파워 쿼리 온라인과 통합되며 파워 쿼리 M 함수를 데이터 흐름 Spark 인프라를 사용하여 Spark 실행을 통해 데이터 랭글링에 사용할 수 있도록 합니다.

현재 모든 파워 쿼리 M 함수가 제작 중에도 사용할 수 있는 데이터 랭글링을 지원하는 것은 아닙니다. 매시업을 빌드하는 동안 함수가 지원되지 않으면 다음과 같은 오류 메시지가 표시됩니다.

UserQuery : Expression.Error: The transformation logic is not supported as it requires dynamic access to rows of data, which cannot be scaled out.

다음은 지원되는 파워 쿼리 M 함수 목록입니다.

열 관리

행 필터링

M 함수 Table.SelectRows를 사용하여 다음 조건에 따라 필터링합니다.

열 추가 및 변환

M 함수 Table.AddColumn, Table.TransformColumns, Table.ReplaceValue, Table.DuplicateColumn은 열을 추가하거나 변환합니다. 다음은 지원되는 변환 함수입니다.

테이블 병합/조인

  • 파워 쿼리는 중첩된 조인을 생성합니다(Table.NestedJoin, 사용자는 수동으로 Table.AddJoinColumn을 쓸 수 있음). 그러면 사용자가 중첩된 조인 열을 중첩되지 않은 조인으로 확장해야 합니다(Table.ExpandTableColumn, 다른 컨텍스트에서는 지원되지 않음).
  • M 함수 Table.Join은 직접 쓸 수 있으므로 추가 확장 단계가 필요하지 않지만, 사용자는 조인된 테이블 간에 중복된 열 이름이 없는지 확인해야 합니다.
  • 지원되는 조인 종류: Inner, LeftOuter, RightOuter, FullOuter
  • Value.EqualsValue.NullableEquals 값 모두 키 같음 비교자로 지원됩니다.

그룹 기준

Table.Group을 사용하여 값을 집계합니다.

정렬

Table.Sort를 사용하여 값을 정렬합니다.

행 축소

상위 행 유지 및 제거, 범위 유지(해당하는 M 함수, 개수만 지원하고 조건은 지원하지 않음: Table.FirstN, Table.Skip, Table.RemoveFirstN, Table.Range, Table.MinN, Table.MaxN)

지원되지 않는 알려진 함수

함수 상태
Table.PromoteHeaders 지원되지 않습니다. 데이터 세트에서 "첫 행을 머리글로"를 설정하여 동일한 결과를 얻을 수 있습니다.
Table.CombineColumns 직접 지원되지 않지만 지정된 두 열을 연결하는 새 열을 추가하여 달성할 수 있는 일반적인 시나리오입니다. 예: Table.AddColumn(RemoveEmailColumn, "Name", each [FirstName] & " " & [LastName])
Table.TransformColumnTypes 대부분의 경우에 지원됩니다. 지원되지 않는 시나리오: 문자열을 통화 형식으로 변환하고, 문자열을 시간 형식으로 변환하고, 문자열을 백분율 형식으로 변환하고, 로캘을 사용하여 변환합니다.
Table.NestedJoin 조인을 수행하면 유효성 검사 오류가 발생합니다. 제대로 작동하려면 열을 확장해야 합니다.
Table.RemoveLastN 하위 행 제거는 지원되지 않습니다.
Table.RowCount 지원되지 않지만 값 1을 포함하는 사용자 지정 열을 추가한 다음, List.Sum을 사용하여 해당 열을 집계하여 달성할 수 있습니다. Table.Group은 지원됩니다.
행 수준 오류 처리 행 수준 오류 처리는 현재 지원되지 않습니다. 예를 들어, 열에서 숫자가 아닌 값을 필터링하려면 한 가지 방법은 텍스트 열을 숫자로 변환하는 것입니다. 변환에 실패하는 모든 셀은 오류 상태가 되며 필터링해야 합니다. 이 시나리오는 스케일 아웃 M에서 가능하지 않습니다.
Table.Transpose 지원되지 않음

M 스크립트 해결 방법

SplitColumn

길이 및 위치별 분할에 대한 대안은 아래에 나열되어 있습니다.

  • Table.AddColumn(소스, "첫 번째 문자", 각 Text.Start([Email], 7), 텍스트 입력)
  • Table.AddColumn(#"첫 번째 문자 삽입", "텍스트 범위", 각 Text.Middle([Email], 4, 9), 텍스트 입력)

이 옵션은 리본의 추출 옵션에서 액세스할 수 있습니다.

파워 쿼리 열 추가

Table.CombineColumns

  • Table.AddColumn(RemoveEmailColumn, "이름", 각 [FirstName] & " " & [LastName])

피벗

  • PQ 편집기에서 피벗 변환을 선택하고 피벗 열을 선택합니다.

Power Query 피벗 공통

  • 다음으로 값 열과 집계 함수를 선택합니다.

Power Query 피벗 선택기

  • 확인을 클릭하면 피벗된 값으로 업데이트된 데이터가 편집기에 표시됩니다.
  • 변환이 지원되지 않을 수 있다는 경고 메시지도 표시됩니다.
  • 이 경고를 편집하려면 PQ 편집기를 사용하여 수동으로 피벗 목록을 확장합니다.
  • 리본에서 고급 편집기 옵션 선택
  • 수동으로 피벗된 값 목록 확장
  • List.Distinct()를 다음과 같은 값 목록으로 바꿉니다.
#"Pivoted column" = Table.Pivot(Table.TransformColumnTypes(#"Changed column type 1", {{"genres", type text}}), {"Drama", "Horror", "Comedy", "Musical", "Documentary"}, "genres", "Rating", List.Average)
in
  #"Pivoted column"

날짜/시간 열 서식 지정

파워 쿼리 ADF를 사용할 때 날짜/시간 형식을 설정하려면 다음 설정에 따라 형식을 설정합니다.

Power Query 유형 변경

  1. 파워 쿼리 UI에서 열을 선택하고 형식 > 날짜/시간 변경을 선택합니다.
  2. 경고 메시지가 표시됩니다.
  3. 고급 편집기를 열고 TransformColumnTypesTransformColumns로 변경합니다. 입력 데이터를 기반으로 형식과 문화권을 지정합니다.

Power Query 편집기

#"Changed column type 1" = Table.TransformColumns(#"Duplicated column", {{"start - Copy", each DateTime.FromText(_, [Format = "yyyy-MM-dd HH:mm:ss", Culture = "en-us"]), type datetime}})

ADF에서 데이터 랭글링 파워 쿼리를 만드는 방법에 대해 알아보세요.