Udostępnij za pośrednictwem


Funkcje przekształcania w dodatku Power Query na potrzeby uzdatniania danych

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Uzdatnianie danych w usłudze Azure Data Factory umożliwia wykonywanie bez kodu elastycznego przygotowywania danych i uzdatniania w skali chmury przez tłumaczenie skryptów dodatku Power Query M na skrypt Przepływ danych. Usługa ADF integruje się z usługą Power Query Online i udostępnia funkcje dodatku Power Query M na potrzeby uzdatniania danych za pośrednictwem wykonywania platformy Spark przy użyciu infrastruktury spark przepływu danych.

Obecnie nie wszystkie funkcje języka Power Query M są obsługiwane w przypadku uzdatniania danych, mimo że są dostępne podczas tworzenia. Podczas tworzenia mash-upów zostanie wyświetlony następujący komunikat o błędzie, jeśli funkcja nie jest obsługiwana:

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

Poniżej znajduje się lista obsługiwanych funkcji dodatku Power Query M.

Zarządzanie kolumnami

Filtrowanie wierszy

Użyj funkcji M Table.SelectRows , aby filtrować według następujących warunków:

Dodawanie i przekształcanie kolumn

Następujące funkcje języka M dodają lub przekształcają kolumny: Table.AddColumn, Table.TransformColumns, Table.ReplaceValue, Table.DuplicateColumn. Poniżej przedstawiono obsługiwane funkcje przekształcania.

Scalanie/łączenie tabel

  • Dodatek Power Query wygeneruje zagnieżdżone sprzężenia (Table.NestedJoin; użytkownicy mogą również ręcznie napisać table.AddJoinColumn). Użytkownicy muszą następnie rozwinąć zagnieżdżonych kolumnę sprzężenia do sprzężenia niezagnieżdżonego (Table.ExpandTableColumn, nieobsługiwane w żadnym innym kontekście).
  • Funkcję M Table.Join można napisać bezpośrednio, aby uniknąć konieczności dodatkowego kroku rozszerzenia, ale użytkownik musi upewnić się, że nie ma zduplikowanych nazw kolumn w tabelach sprzężonych
  • Obsługiwane rodzaje sprzężenia: Wewnętrzny, LeftOuter, RightOuter, FullOuter
  • Obie wartości Value.Equals i Value.NullableEquals są obsługiwane jako kluczowe porównania równości

Grupuj według

Użyj elementu Table.Group , aby agregować wartości.

Sortowanie

Użyj funkcji Table.Sort do sortowania wartości.

Zmniejszanie wierszy

Zachowaj i usuń zakres, Zachowaj zakres (odpowiadające im funkcje M, tylko liczby pomocnicze, a nie warunki: Table.FirstN, Table.Skip, Table.RemoveFirstN, Table.Range, Table.MinN, Table.MaxN)

Znane nieobsługiwane funkcje

Function Stan
Table.PromoteHeaders Nieobsługiwane. Ten sam wynik można osiągnąć, ustawiając w zestawie danych wartość "Pierwszy wiersz jako nagłówek".
Table.CombineColumns Jest to typowy scenariusz, który nie jest bezpośrednio obsługiwany, ale można go osiągnąć, dodając nową kolumnę, która łączy dwie podane kolumny. Na przykład Table.AddColumn(RemoveEmailColumn, "Name", each [FirstName] & " " & [LastName])
Table.TransformColumnTypes Jest to obsługiwane w większości przypadków. Następujące scenariusze są nieobsługiwane: przekształcanie ciągu na typ waluty, przekształcanie ciągu na typ czasu, przekształcanie ciągu na typ procentowy i transfomowanie przy użyciu ustawień regionalnych.
Table.NestedJoin Wykonanie sprzężenia spowoduje błąd weryfikacji. Kolumny muszą być rozwinięte, aby działały.
Table.RemoveLastN Usuwanie dolnych wierszy nie jest obsługiwane.
Table.RowCount Nieobsługiwane, ale można to osiągnąć, dodając kolumnę niestandardową zawierającą wartość 1, a następnie agregując tę kolumnę za pomocą elementu List.Sum. Tabela.Group jest obsługiwana.
Obsługa błędów na poziomie wiersza Obsługa błędów na poziomie wiersza nie jest obecnie obsługiwana. Na przykład aby odfiltrować wartości nieliczbowe z kolumny, jednym z podejść byłoby przekształcenie kolumny tekstowej na liczbę. Każda komórka, która nie zostanie przekształcona, będzie w stanie błędu i musi zostać przefiltrowana. Ten scenariusz nie jest możliwy w przypadku skalowania w poziomie M.
Table.Transponuj Nieobsługiwane

Obejścia skryptu języka M

SplitColumn

Alternatywna dla podziału według długości i pozycji znajduje się poniżej

  • Table.AddColumn(Source, "First characters", each Text.Start([Email], 7), wpisz tekst)
  • Table.AddColumn(#"Wstawione pierwsze znaki", "Zakres tekstu", każdy Tekst.Middle([Email], 4, 9), wpisz tekst)

Ta opcja jest dostępna z opcji Wyodrębnij na wstążce

Dodatek Power Query — kolumna

Table.CombineColumns

  • Table.AddColumn(RemoveEmailColumn, "Name", each [FirstName] & " " & [LastName])

Czopów

  • Wybierz pozycję Przekształcenie przestawne z edytora PQ i wybierz kolumnę przestawną

Dodatek Power Query — wspólny

  • Następnie wybierz kolumnę wartości i funkcję agregacji

Selektor tabeli przestawnej dodatku Power Query

  • Po kliknięciu przycisku OK zobaczysz dane w edytorze zaktualizowane przy użyciu wartości przestawnych
  • Zostanie również wyświetlony komunikat ostrzegawczy informujący o tym, że transformacja może nie być obsługiwana
  • Aby naprawić to ostrzeżenie, rozwiń listę przestawną ręcznie przy użyciu edytora PQ
  • Wybierz opcję Edytor zaawansowany na wstążce
  • Ręczne rozwijanie listy wartości przestawnych
  • Zastąp ciąg List.Distinct() listą wartości w następujący sposób:
#"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"

Formatowanie kolumn daty/godziny

Aby ustawić format daty/godziny podczas korzystania z usługi ADF dodatku Power Query, postępuj zgodnie z tymi zestawami, aby ustawić format.

Typ zmiany dodatku Power Query

  1. Wybierz kolumnę w interfejsie użytkownika dodatku Power Query i wybierz pozycję Zmień typ > daty/godziny
  2. Zostanie wyświetlony komunikat ostrzegawczy
  3. Otwórz Edytor zaawansowany i zmień wartość TransformColumnTypes na TransformColumns. Określ format i kulturę na podstawie danych wejściowych.

Edytor 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}})

Dowiedz się, jak utworzyć dane uzdatniania dodatku Power Query w usłudze ADF.