Bagikan melalui


plugin pivot

Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer

Memutar tabel dengan mengubah nilai unik dari satu kolom di tabel input menjadi beberapa kolom di tabel output dan melakukan agregasi seperti yang diperlukan pada nilai kolom yang tersisa yang akan muncul di output akhir.

Catatan

Jika OutputSchema tidak ditentukan, skema output plugin pivot didasarkan pada data input. Oleh karena itu, beberapa eksekusi plugin menggunakan input data yang berbeda, dapat menghasilkan skema output yang berbeda. Ini juga berarti bahwa kueri yang mereferensikan kolom yang tidak dikemas dapat menjadi 'rusak' kapan saja. Untuk alasan ini, kami tidak menyarankan penggunaan plugin ini untuk pekerjaan otomatisasi tanpa menentukan fungsi OutputSchema.

Sintaks

T | evaluate pivot(pivotColumn aggregationFunction] [,column1 [,column2 ... ]]) [: OutputSchema][,

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
pivotColumn string ✔️ Kolom untuk diputar. Setiap nilai unik dari kolom ini akan menjadi kolom dalam tabel output.
aggregationFunction string Fungsi agregasi yang digunakan untuk mengagregasi beberapa baris dalam tabel input ke satu baris dalam tabel output. Fungsi yang saat ini didukung: min(), , max()take_any(), sum(), dcount(), avg(), stdev(), variance(), make_list(), make_set()make_bag(), count(). Default adalah count().
column1, column2, ... string Nama kolom atau daftar nama kolom yang dipisahkan koma. Tabel output akan berisi kolom tambahan per setiap kolom yang ditentukan. Defaultnya adalah semua kolom selain kolom pivot dan kolom agregasi.
OutputSchema Nama dan jenis untuk kolom yang diharapkan dari output plugin pivot.

Sintaks: ( ColumnName : ColumnType [, ...] )

Menentukan skema yang diharapkan akan mengoptimalkan pelaksanaan kueri dengan tidak menjalankan kueri aktual terlebih dahulu untuk menjelajahi skema. Kesalahan muncul jika skema run-time tidak cocok dengan skema OutputSchema.

Mengembalikan

Pivot mengembalikan tabel yang diputar dengan kolom tertentu (column1, column2, ...) ditambah semua nilai unik dari kolom pivot. Setiap sel untuk kolom yang di-pivot akan berisi perhitungan fungsi agregat.

Contoh

Pivot menurut kolom

Untuk setiap EventType dan Negara bagian yang dimulai dengan 'AL', masukkan jumlah peristiwa jenis ini dalam negara bagian ini.

StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)

Hasil

EventType ALABAMA ALASKA
Angin Badai Petir 352 1
Angin Kencang 0 95
Dingin/Angin Dingin yang Ekstrem 0 10
Angin Kencang 22 0

Pivot menurut kolom dengan fungsi agregasi

Untuk setiap EventType dan Negara bagian yang dimulai dengan 'AR', tampilkan jumlah total kematian langsung.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))

Hasil

EventType ARKANSAS ARIZONA
Hujan Lebat 1 0
Angin Badai Petir 1 0
Lightning 0 1
Banjir Bandang 0 6
Angin Kencang 1 0
Panas 3 0

Pivot menurut kolom dengan fungsi agregasi dan satu kolom tambahan

Hasilnya identik dengan contoh sebelumnya.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)

Hasil

EventType ARKANSAS ARIZONA
Hujan Lebat 1 0
Angin Badai Petir 1 0
Lightning 0 1
Banjir Bandang 0 6
Angin Kencang 1 0
Panas 3 0

Tentukan kolom yang dipivot, fungsi agregasi, dan beberapa kolom tambahan

Untuk setiap jenis peristiwa, sumber dan negara bagian, jumlahkan jumlah kematian langsung.

StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)

Hasil

EventType Sumber ARKANSAS ARIZONA
Hujan Lebat Manajer Darurat 1 0
Angin Badai Petir Manajer Darurat 1 0
Lightning Koran 0 1
Banjir Bandang Spotter Terlatih 0 2
Banjir Bandang Media Siaran 0 3
Banjir Bandang Koran 0 1
Angin Kencang Penegakan Hukum 1 0
Panas Koran 3 0

Pivot dengan skema output yang ditentukan kueri

Contoh berikut memilih kolom tertentu dalam tabel StormEvents. Contoh ini menggunakan definisi skema eksplisit yang memungkinkan berbagai pengoptimalan untuk dievaluasi sebelum menjalankan kueri yang sebenarnya.

StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)

Hasil

EventType ALABAMA ALASKA
Angin Badai Petir 352 1
Angin Kencang 0 95
Angin Badai Petir Laut 0 0
Angin Kencang 22 0
Dingin/Angin Dingin yang Ekstrem 0 10
Dingin/Angin Dingin 0 0
Angin Kencang Laut 0 0
Angin Tinggi Laut 0 0