Latihan - Memilih kolom untuk dikembalikan dengan menggunakan operator proyek

Selesai

Anda dapat menggunakan kueri Kusto untuk memfilter data dan mengembalikan informasi tertentu.

Ingatlah bahwa Anda telah melihat baris data yang berubah-ubah untuk memahami strukturnya. Dalam pelajaran ini, Anda akan mempelajari cara memilih kolom data spesifik yang terkait dengan jenis badai, lokasi, dan efek merusak.

Menggunakan operator project

Jika Anda ingat, contoh data meteorologi memiliki beberapa kolom. Tidak semua kolom ini bermakna untuk eksplorasi ini. Anda akan memilih hanya beberapa kolom untuk dilihat. Anda akan menggunakan operator project untuk menentukan kolom mana yang ingin Anda lihat di output. Nama kolom dipisahkan dengan koma.

  1. Jalankan kueri berikut: Kueri ini menamai kolom yang akan dikembalikan dan urutannya dalam project operator.

    Menjalankan kueri

    StormEvents
    | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect
    | take 10
    
  2. Anda akan mendapatkan hasil yang terlihat seperti gambar berikut:

    Screenshot of project operator results with six columns.

  3. Perhatikan bahwa hanya kolom yang disebutkan di operator project yang muncul di output.

Ganti nama dan tentukan kolom baru menggunakan project

Untuk memahami dampak badai di negara bagian AS, Anda ingin mendapatkan jumlah total cedera dan jumlah total kerusakan. Dengan operator project, Anda dapat menjumlahkan nilai bilangan bulat dari kolom yang berbeda dan mengembalikan hasilnya dalam kolom baru. Anda juga dapat mengganti nama kolom agar lebih bermakna bagi analisis Anda.

Misalnya, ada negara/wilayah lain dengan negara bagian. Mungkin akan membantu untuk mengganti nama kolom negara bagian sehingga jelas bahwa hasilnya adalah untuk negara bagian AS. Mari kita lihat bagaimana mengubah kueri Anda sebelumnya sehingga Anda mendapatkan jumlah total cedera dan jumlah kerusakan untuk negara bagian AS.

  1. Perbarui kueri Anda sebelumnya untuk membuat kolom baru yang menampilkan jumlah InjuriesDirect dan InjuriesIndirect:

    Injuries=InjuriesDirect+InjuriesIndirect

  2. Lakukan hal yang sama untuk dua jenis kolom kerusakan dengan menjumlahkan kerusakan tanaman dan kerusakan properti:

    Damage=DamageCrops+DamageProperty

  3. Arahkan kursor ke nama kolom di editor kueri untuk melihat tipe data yang terdapat dalam kolom. Anda dapat menggunakan operator numerik untuk menambahkan nilai karena kolom ini bertipe int (bilangan bulat).

    Screenshot of the data type in a query editor.

  4. Ganti nama kolom Negara Bagian menjadi US_State:

    US_State=State

  5. Tinjau kueri Anda yang diperbarui dan jalankan. Kueri lengkapnya mencakup penghitungan cedera, penghitungan kerusakan, dan penggantian nama kolom Negara Bagian.

    Menjalankan kueri

    StormEvents
    | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty
    | take 10
    
  6. Anda akan mendapatkan hasil yang terlihat seperti gambar berikut:

    Screenshot of query results for a project operator that renames columns.

  7. Perhatikan bahwa kolom Negara Bagian telah diganti namanya menjadi US_State. Kolom Cedera baru, dan telah dihitung sebagai jumlah dari InjuriesDirect dan InjuriesIndirect. Kolom Kerusakan juga baru, dan telah dihitung sebagai jumlah dari DamageCrops dan DamageProperty.

Menggunakan operator project-away

Bagaimana jika Anda ingin menghapus beberapa kolom pilihan? Untuk penjelajahan ini, Anda tidak menggunakan ID yang ditetapkan untuk setiap episode dan acara. Anda dapat menghapus kolom tertentu dengan menggunakan project-away operator, yang menunjukkan kolom mana yang akan dihapus sambil meninggalkan semua kolom yang tersisa. Anda juga dapat menggunakan wildcard, seperti | project-away *Id, untuk menghapus semua kolom yang diakhiri dengan Id.

  1. Jalankan kueri berikut:

    Menjalankan kueri

    StormEvents
    | project-away EpisodeId, EventId
    | take 10
    
  2. Periksa hasil Anda. Perlu diingat bahwa kolom EpisodeId dan EventId berada di antara kolom EndTime dan State. Manakah dari kolom berikut yang Anda lihat di output?