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 |