BigQuery baru-baru ini memperkenalkan fungsi PIVOT, alat yang luar biasa untuk transformasi dan ringkasan data. Ia membolehkan pengguna untuk memutar data berdasarkan lajur tertentu, menyusun nilai ke dalam baris dan lajur. Walau bagaimanapun, cabaran timbul apabila berurusan dengan nilai suku yang tidak diketahui dalam senario dunia sebenar.
Dalam hal ini, menjadi penting untuk memaksi data secara dinamik berdasarkan maklumat yang tersedia. Coretan kod berikut menangani isu ini:
execute immediate ( select '''select * from (select * from `project.dataset.Produce`) pivot(sum(sales) for quarter in ("''' || string_agg(quarter, '", "') || '''")) ''' from (select distinct quarter from `project.dataset.Produce` order by quarter) );
Kod ini bergantung pada penggabungan rentetan untuk membina pernyataan PIVOT secara dinamik. Ia mendapatkan semula nilai suku yang berbeza, menyusunnya dalam tertib menaik, dan kemudian membina klausa pangsi secara dinamik. Hasilnya ialah pertanyaan yang fleksibel dan cekap yang boleh mengendalikan situasi di mana nilai suku tidak diketahui terlebih dahulu.
Oleh itu, fungsi PIVOT BigQuery menyediakan potensi besar untuk transformasi dan analisis data. Dengan menggunakan teknik dinamik, pengguna boleh mengatasi cabaran dan mengekstrak cerapan bermakna daripada set data yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Data BigQuery Secara Dinamik dengan Nilai Suku Tidak Diketahui?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!