Bagikan melalui


Fungsi transformasi di Power Query untuk melakukan penyeragaman data

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Penyeragaman Data di Azure Data Factory memungkinkan Anda melakukan penyeragaman dan persiapan data tangkas bebas kode dan pada skala cloud dengan menerjemahkan skrip Power Query M ke dalam skrip Aliran Data. ADF terintegrasi dengan Power Query Online dan membuat fungsi Power Query tersedia untuk M pergumulan data melalui eksekusi Spark menggunakan infrastruktur Spark aliran data.

Saat ini, tidak semua fungsi Power Query M didukung untuk manipulasi data meskipun tersedia selama penulisan. Saat membuat mash-up, Anda akan diminta dengan pesan kesalahan berikut jika fungsi tidak didukung:

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

Berikut adalah daftar fungsi Power Query M yang didukung.

Pengelolaan Kolom

Pemfilteran Baris

Gunakan fungsi M Table.SelectRows untuk memfilter dengan kondisi berikut:

Menambahkan dan Mentransformasi Kolom

Fungsi M berikut menambahkan atau mentransformasi kolom: Table.AddColumn, Table.TransformColumns, Table.ReplaceValue, Table.DuplicateColumn. Berikut adalah fungsi transformasi yang didukung.

Tabel Penggabungan

  • Power Query akan menghasilkan gabungan bersarang (Table.NestedJoin; pengguna juga dapat menulis Table.AddJoinColumn secara manual). Kemudian, pengguna harus memperluas kolom gabungan bersarang ke dalam gabungan yang tidak bersarang (Table.ExpandTableColumn, tidak didukung dalam konteks lain).
  • Fungsi M Table.Join dapat ditulis secara langsung untuk menghindari perlunya langkah perluasan tambahan, tetapi pengguna harus memastikan bahwa tidak ada nama kolom duplikat di antara tabel gabungan
  • Jenis Penggabungan yang didukung: Inner, LeftOuter, RightOuter, FullOuter
  • Kedua Value.Equals dan Value.NullableEquals didukung sebagai pembanding kesetaraan kunci

Kelompokkan berdasarkan

Gunakan Table.Group untuk menggabungkan nilai.

Pengurutan

Gunakan Table.Sort untuk mengurutkan nilai.

Mengurangi Baris

Pertahankan dan Hapus Bagian Atas, Pertahankan Rentang (fungsi M yang sesuai, hanya mendukung jumlah, bukan kondisi: Table.FirstN, Table.Skip, Table.RemoveFirstN, Table.Range, Table.MinN, Table.MaxN)

Fungsi yang tidak didukung yang diketahui

Fungsi Status
Table.PromoteHeaders Tidak didukung. Hasil yang sama dapat dicapai dengan mengatur "Baris pertama sebagai header" di himpunan data.
Table.CombineColumns Ini adalah skenario umum yang tidak didukung secara langsung, tetapi dapat dicapai dengan menambahkan kolom baru yang menggabungkan dua kolom tertentu. Misalnya, Table.AddColumn(RemoveEmailColumn, "Nama", tiap [NamaDepan] & " " & [NamaBelakang])
Table.TransformColumnTypes Ini didukung dalam banyak kasus. Skenario berikut tidak didukung: mengubah string ke jenis mata uang, mengubah string ke jenis waktu, mengubah string menjadi jenis Persentase dan tranfoming dengan lokal.
Table.NestedJoin Hanya melakukan gabungan akan mengakibatkan kesalahan validasi. Kolom harus diperluas agar berfungsi.
Table.RemoveLastN Hapus baris bawah tidak didukung.
Table.RowCount Tidak didukung, tetapi dapat diperoleh dengan menambahkan kolom kustom yang berisi nilai 1, lalu menggabungkan kolom tersebut dengan List.Sum. Table.Group didukung.
Penanganan kesalahan tingkat baris Penanganan kesalahan tingkat baris saat ini tidak didukung. Misalnya, untuk memfilter nilai non-numerik dari kolom, salah satu pendekatan adalah mengubah kolom teks menjadi angka. Setiap sel yang gagal ditransformasi akan berada dalam status kesalahan dan perlu difilter. Skenario ini tidak dimungkinkan dalam M yang diskalakan.
Table.Transpose Tidak didukung

Solusi skrip M

SplitColumn

Alternatif untuk pemisahan menurut panjang dan menurut posisi dicantumkan di bawah

  • Table.AddColumn(Sumber, "Karakter pertama", tiap Text.Start([Email], 7), teks jenis)
  • Table.AddColumn(#"Karakter pertama disisipkan", "Rentang teks", tiap Text.Middle([Email], 4, 9), teks jenis)

Opsi ini dapat diakses dari opsi Ekstrak di pita

Kolom Power Query Tambahkan

Table.CombineColumns

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

Pivot

  • Pilih transformasi Pivot dari editor PQ dan pilih kolom pivot Anda

Umum Pivot Microsoft Power Query untuk Excel

  • Selanjutnya, pilih kolom nilai dan fungsi agregat

Pemilih Pivot Microsoft Power Query untuk Excel

  • Ketika Anda mengklik OK, Anda akan melihat data di editor diperbarui dengan nilai pivot
  • Anda juga akan melihat pesan peringatan bahwa transformasi mungkin tidak didukung
  • Untuk memperbaiki peringatan ini, perluas daftar dengan pivot secara manual menggunakan editor PQ
  • Memilih opsi Editor Lanjutan dari pita
  • Memperluas daftar nilai dengan pivot secara manual
  • Mengganti List.Distinct() dengan daftar nilai seperti ini:
#"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"

Memformat kolom tanggal/waktu

Untuk mengatur format tanggal/waktu saat menggunakan Power Query ADF, ikuti set ini untuk mengatur format.

Jenis Perubahan Power Query

  1. Pilih kolom di UI Power Query dan pilih Ubah Jenis > Tanggal/Waktu
  2. Anda akan melihat pesan peringatan
  3. Buka Editor Lanjutan dan ubah TransformColumnTypes menjadi TransformColumns. Tentukan format dan budaya berdasarkan data input.

Power Query Editor

#"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}})

Pelajari cara Membuat penyeragaman data Power Query di ADF.