Membuat tabel turunan SQL dinamis dengan LookML dan Liquid

Lab 15 menit universal_currency_alt Tanpa biaya show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP932

Logo lab mandiri Google Cloud

Ringkasan

Looker adalah platform data modern di Google Cloud yang memungkinkan Anda menganalisis dan memvisualisasikan data secara interaktif. Anda dapat menggunakan Looker untuk melakukan analisis data mendalam, mengintegrasikan insight dari berbagai sumber data, membuat alur kerja berbasis data yang dapat ditindaklanjuti, dan membuat aplikasi data khusus.

Di lab ini, Anda mempelajari cara membuat dan memperbarui tabel turunan SQL untuk menghasilkan nilai dinamis dan menangani beberapa kasus penggunaan.

Yang akan Anda lakukan

  • Membuat tabel turunan SQL untuk menangani berbagai kasus penggunaan
  • Memperbarui tabel turunan SQL untuk menghasilkan nilai dinamis menggunakan template filter dengan Liquid
  • Memahami manfaat tabel turunan SQL dinamis bagi pengguna bisnis untuk menjawab pertanyaan yang kompleks

Prasyarat

Pemahaman tentang LookML diperlukan. Sebaiknya selesaikan Memahami LookML di Looker sebelum memulai lab ini.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Looker

  1. Jika sudah siap, klik Start lab.

    Panel Lab Details akan muncul dengan kredensial sementara yang harus Anda gunakan untuk lab ini.

    Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran.

    Perhatikan kredensial lab Anda di panel Lab Details. Anda akan menggunakannya untuk login ke instance Looker untuk lab ini.

    Catatan: Jika Anda menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.
  2. Klik Open Looker.

  3. Di kolom Email dan Password, masukkan Nama Pengguna dan Sandi yang disediakan.

    Nama pengguna:

    {{{looker.developer_username | Username}}}

    Sandi:

    {{{looker.developer_password | Password}}} Penting: Anda harus menggunakan kredensial dari panel Lab Details di halaman ini. Jangan menggunakan kredensial Google Cloud Skills Boost. Jika Anda memiliki akun Looker pribadi, jangan gunakan akun tersebut untuk lab ini.
  4. Klik Log In.

    Setelah login berhasil, Anda akan melihat instance Looker untuk lab ini.

Tugas 1. Membuat satu tabel turunan SQL untuk menangani beberapa kasus penggunaan

Di LookML, Anda dapat menentukan tabel turunan menggunakan kueri SQL untuk menentukan tabel turunan SQL atau kueri Explore untuk menentukan tabel turunan native. Menggunakan tabel turunan SQL sering kali lebih mudah bagi developer SQL untuk memahami dan mulai menggunakan tabel turunan di Looker.

Dalam tugas ini, Anda akan membuat tabel turunan SQL bernama user_facts yang cukup fleksibel untuk menjawab beberapa pertanyaan perilaku pelanggan seperti berikut:

  • Berapa Pendapatan Rata-Rata Sepanjang Waktu dan Jumlah Pesanan Rata-Rata Sepanjang Waktu untuk semua pelanggan di setiap Negara Bagian Amerika Serikat?
  • Berapa tanggal pesanan pertama dan tanggal pesanan terakhir seorang pelanggan, selain Total Pendapatan (sepanjang waktu) dan Jumlah Total Pesanan (sepanjang waktu)?

Menentukan tabel turunan baru menggunakan kueri SQL

  1. Pertama-tama, di kiri bawah Antarmuka Pengguna Looker, klik tombol untuk masuk ke Development Mode.
  1. Klik tab Develop, lalu klik SQL Runner.

  2. Di jendela SQL Query, tambahkan kueri berikut:

SELECT order_items.user_id AS user_id ,COUNT(distinct order_items.order_id) AS lifetime_order_count ,SUM(order_items.sale_price) AS lifetime_revenue ,MIN(order_items.created_at) AS first_order_date ,MAX(order_items.created_at) AS latest_order_date FROM cloud-training-demos.looker_ecomm.order_items GROUP BY user_id LIMIT 10

Dalam contoh ini, kueri yang diinginkan memilih user_id, menghitung jumlah pesanan sepanjang waktu pengguna tersebut, lalu menjumlahkan harga sebagai pendapatan sepanjang waktu untuk pengguna tersebut. Kueri ini juga menentukan nilai minimum dan maksimum kolom created_at sebagai tanggal pesanan pertama dan tanggal pesanan terakhir.

Klausa GROUP BY digunakan untuk mengelompokkan hasil berdasarkan user_id, dan klausa LIMIT digunakan untuk membatasi hasil, karena Anda hanya perlu meninjau subset kumpulan data untuk memastikan kueri Anda berfungsi dengan baik.

  1. Klik Run untuk melihat hasil kueri Anda.

Tabel hasil yang menampilkan 10 baris data

Dalam contoh ini, kueri memang menampilkan ID pengguna, jumlah pesanan sepanjang waktu, pendapatan sepanjang waktu yang dihasilkan dari pengguna tersebut, serta tanggal pesanan pertama dan terakhir.

Perhatikan bahwa klausa LIMIT digunakan untuk mengurangi jumlah data yang ditampilkan selama pengujian ini; Anda akan menghapus klausa LIMIT di langkah berikutnya saat Anda membuat file tabel virtual baru untuk tabel turunan SQL.

Membuat file tabel virtual baru untuk tabel turunan SQL

  1. Klik Settings (Ikon roda gigi setelan) di samping Run (pojok kanan atas halaman), lalu pilih Add to Project.

  2. Untuk Project, pilih qwiklabs-ecommerce.

  3. Untuk View Name, ketik: user_facts.

  4. Klik Add.

Anda akan dialihkan ke Looker IDE untuk meninjau file tabel virtual yang baru dibuat untuk tabel turunan SQL Anda. Anda dapat melihat bahwa Looker otomatis membuat file tabel virtual untuk tabel turunan SQL berdasarkan kueri yang Anda masukkan di SQL Runner. 12 baris pertama file tabel virtual ditunjukkan di bawah:

view: user_facts { derived_table: { sql: SELECT order_items.user_id AS user_id ,COUNT(distinct order_items.order_id) AS lifetime_order_count ,SUM(order_items.sale_price) AS lifetime_revenue ,MIN(order_items.created_at) AS first_order_date ,MAX(order_items.created_at) AS latest_order_date FROM cloud-training-demos.looker_ecomm.order_items GROUP BY user_id LIMIT 10 ;; }

Di Looker, file Anda akan terlihat seperti:

user_facts.view menampilkan 10 baris kode

Perhatikan bahwa tabel virtual user_facts baru telah dibuat di luar folder views. Sebaiknya kumpulkan file tabel virtual dalam project agar rapi.

  1. Klik panah di samping views untuk melihat daftar tabel virtual.

  2. Klik user_facts.view dan tarik ke folder views.

  3. Klik user_facts.view untuk melihat file tabel virtual untuk tabel turunan SQL.

Looker otomatis membuat dimensi untuk setiap kolom dalam klausa SELECT pada kueri SQL serta ukuran hitungan baru. Pada langkah berikutnya, Anda akan memodifikasi file tabel virtual untuk menghapus klausa LIMIT yang tidak lagi diinginkan, menyembunyikan ukuran hitungan baru, dan menambahkan kunci utama untuk tabel virtual.

  1. Hapus baris kode untuk LIMIT 10 dari parameter sql.

Seperti yang telah disoroti sebelumnya, Looker secara otomatis membuat ukuran hitungan bersama dengan dimensi yang digunakan dalam tabel turunan. Terkadang, ukuran hitungan yang dibuat otomatis ini tidak berguna, jika Anda sudah memiliki hitungan di tabel virtual lain yang memberikan angka yang sama.

Dalam contoh ini, ukuran jumlah yang dibuat otomatis menghitung ID pesanan, dan sudah ada jumlah pesanan dalam tabel virtual order_items.

Anda dapat menghapus atau menyembunyikan ukuran hitungan menggunakan parameter hidden: yes. Menyembunyikan ukuran dapat dilakukan jika Anda ingin terus menggunakannya untuk validasi jika jumlah ini sama dengan jumlah lainnya.

  1. Dalam definisi measure: count, tambahkan baris baru sebelum type: count, lalu sisipkan kode berikut:
hidden: yes

Praktik terbaik terakhir adalah memastikan bahwa tabel virtual baru memiliki kunci utama.

Dalam contoh ini, Anda dapat menambahkan parameter primary_key: yes ke dimensi user_id, yang merupakan ID pengorganisasian pusat dari tabel virtual ini yang memberikan detail tentang setiap pesanan individual.

  1. Dalam definisi dimension: user_id, tambahkan baris baru sebelum type: number, lalu sisipkan kode berikut:
primary_key: yes

Tabel virtual baru bernama user_facts kini siap digunakan untuk membuat dimensi dan ukuran baru, menggabungkannya ke Explore dalam file model, dan/atau menyelesaikan alur kerja Git untuk mengirim perubahan Anda ke produksi. Anda akan melanjutkan proses ini di bagian berikutnya.

  1. Klik Save Changes. Kode yang diperbarui akan terlihat seperti berikut:
view: user_facts { derived_table: { sql: SELECT order_items.user_id AS user_id ,COUNT(distinct order_items.order_id) AS lifetime_order_count ,SUM(order_items.sale_price) AS lifetime_revenue ,MIN(order_items.created_at) AS first_order_date ,MAX(order_items.created_at) AS latest_order_date FROM cloud-training-demos.looker_ecomm.order_items GROUP BY user_id ;; } measure: count { hidden: yes type: count drill_fields: [detail*] } dimension: user_id { primary_key: yes type: number sql: ${TABLE}.user_id ;; }

Di Looker, file Anda akan terlihat seperti:

user_facts.view yang menampilkan 28 baris kode

Melakukan perubahan dan men-deploy ke produksi

  1. Klik Validate LookML, lalu klik Commit Changes & Push.

  2. Tambahkan pesan commit, lalu klik Commit.

  3. Terakhir, klik Deploy to Production.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat file tabel virtual untuk tabel turunan SQL

Tugas 2. Menambahkan ukuran untuk menjawab pertanyaan bisnis

Di bagian ini, Anda akan menambahkan dua ukuran untuk menjawab pertanyaan perilaku pelanggan awal yang diminati: Berapa Pendapatan Rata-Rata Sepanjang Waktu dan Jumlah Pesanan Rata-Rata Sepanjang Waktu untuk semua pelanggan di setiap Negara Bagian Amerika Serikat?

  1. Di tabel virtual user_facts.view, tambahkan dua ukuran: average_lifetime_revenue dan average_lifetime_order_count yang menghitung pendapatan rata-rata sepanjang waktu dan jumlah pesanan rata-rata sepanjang waktu:
measure: average_lifetime_revenue { type: average sql: ${TABLE}.lifetime_revenue ;; } measure: average_lifetime_order_count { type: average sql: ${TABLE}.lifetime_order_count ;; }
  1. Klik Save Changes. Tabel virtual Anda akan terlihat seperti berikut:

user_facts.view yang menampilkan baris kode 25 hingga 43, meniru tata letak pada langkah sebelumnya

Menggabungkan tabel virtual baru ke Explore

Di bagian ini, Anda akan meninjau dan menguji tabel turunan baru. Pertama-tama, Anda akan menggabungkannya ke definisi Explore order_items dalam file model, lalu menggunakan Explore Order Items untuk meninjau apa yang akan dilihat pengguna bisnis jika Anda mendorong perubahan ke produksi.

  1. Dari halaman yang sama, klik file training_ecommerce.model di dalam folder model untuk memodifikasi kontennya.

  2. Temukan definisi explore: order_items. Perhatikan bahwa ada beberapa gabungan yang sudah ditentukan, seperti gabungan untuk tabel virtual users.

training_ecommerce.model yang menampilkan baris 14 hingga 28

  1. Dalam definisi explore: order_items, di atas gabungan yang ada untuk users, tambahkan gabungan baru untuk user_facts dengan menentukan:
join: user_facts { type: left_outer sql_on: ${order_items.user_id} = ${user_facts.user_id};; relationship: many_to_one }

Parameter sql_on mengidentifikasi kolom gabungan sebagai user_id. Parameter relationship mengidentifikasi bahwa ada banyak kemungkinan instance user_id di order_items, tetapi hanya ada satu instance untuk setiap user_id di user_facts, yang disusun sebagai satu baris ringkasan untuk setiap pesanan.

  1. Klik Save Changes. Explore Anda sekarang akan mencakup definisi berikut:
explore: order_items { join: user_facts { type: left_outer sql_on: ${order_items.user_id} = ${user_facts.user_id};; relationship: many_to_one } join: users { type: left_outer sql_on: ${order_items.user_id} = ${users.id} ;; relationship: many_to_one } ... ... ... }

Di Looker, tabel virtual Anda sekarang akan terlihat seperti:

training_ecommerce.model dengan penambahan Explore user_facts, menampilkan baris 1 hingga 29

  1. Setelah Anda menggabungkan tabel virtual ke Explore, buka halaman Explore untuk Order Items.

  2. Di tabel virtual User Facts, pilih dimensi User ID, serta ukuran Average Lifetime Order Count dan Average Lifetime Revenue.

  3. Setel Row Limit ke 100.

  4. Klik Run. Hasilnya akan terlihat seperti berikut:

Tabel hasil yang menampilkan 10 baris data untuk dimensi User ID, ukuran Average Lifetime Order Count, dan Average Lifetime Revenue

  1. Sekarang, hapus dimensi User ID dan tambahkan dimensi State dari tabel virtual Users.

  2. Klik dimensi Country dan tambahkan filter di dalamnya.

  3. Pilih USA.

Filter USA

  1. Klik Run untuk menjalankan kembali kueri.

Anda dapat melihat bagaimana ukuran yang sama kini dapat digunakan untuk menghitung satu nilai untuk Pendapatan rata-rata sepanjang waktu dan satu nilai untuk Jumlah pesanan rata-rata sepanjang waktu per pengguna dan per negara bagian.

  1. Hasil Anda akan terlihat seperti berikut:

Tabel hasil yang menampilkan 10 baris data untuk ukuran Users country, Users state, Average Lifetime Order Count, dan Average Lifetime Revenue

  1. Kembali ke file model training_ecommerce.model.

Melakukan perubahan dan men-deploy ke produksi

  1. Klik Validate LookML, lalu klik Commit Changes & Push.

  2. Tambahkan pesan commit, lalu klik Commit.

  3. Terakhir, klik Deploy to Production.

Klik Periksa progres saya untuk memverifikasi tujuan. Menambahkan ukuran untuk menjawab pertanyaan bisnis

Tugas 3. Memperbarui tabel turunan SQL untuk menghasilkan nilai dinamis menggunakan template filter

Seperti yang Anda lihat di lab sebelumnya, template filter mengikuti pola logis yang sama dengan parameter. Sekali lagi, perbedaan utamanya adalah template filter memungkinkan pengguna akhir memilih dari sejumlah operator filter. Untuk jenis data angka, operator filter dapat berupa “is equal to”, “is greater than”, “is between”, dan sebagainya.

Dalam template filter, nilai tidak di-hard-code; nilai dimasukkan oleh pengguna, lalu diteruskan ke kueri SQL yang dihasilkan. Namun, Anda dapat menampilkan menu drop-down opsi dengan menentukan Explore dan dimensi dalam definisi filter.

Di bagian ini, Anda akan mengubah definisi tabel turunan SQL dari bagian pertama, sehingga tabel tersebut menghitung ulang semua nilai berdasarkan jangka waktu yang telah dipilih pengguna.

  1. Kembali ke tabel virtual user_facts di Looker IDE.

  2. Pertama, ubah definisi tabel turunan SQL sebagai berikut untuk menyertakan klausa WHERE kondisional:

derived_table: { sql: SELECT order_items.user_id AS user_id ,COUNT(distinct order_items.order_id) AS lifetime_order_count ,SUM(order_items.sale_price) AS lifetime_revenue ,MIN(order_items.created_at) AS first_order_date ,MAX(order_items.created_at) AS latest_order_date FROM cloud-training-demos.looker_ecomm.order_items WHERE {% condition select_date %} order_items.created_at {% endcondition %} GROUP BY user_id;; }
  1. Selanjutnya, tambahkan filter baru dalam definisi derived_table agar pengguna dapat memilih tanggal:
filter: select_date { type: date suggest_explore: order_items suggest_dimension: order_items.created_date }

18 baris pertama file tabel virtual sekarang akan terlihat seperti berikut:

view: user_facts { derived_table: { sql: SELECT order_items.user_id AS user_id ,COUNT(distinct order_items.order_id) AS lifetime_order_count ,SUM(order_items.sale_price) AS lifetime_revenue ,MIN(order_items.created_at) AS first_order_date ,MAX(order_items.created_at) AS latest_order_date FROM cloud-training-demos.looker_ecomm.order_items WHERE {% condition select_date %} order_items.created_at {% endcondition %} GROUP BY user_id;; } filter: select_date { type: date suggest_explore: order_items suggest_dimension: order_items.created_date }
  1. Klik Save Changes. File Anda sekarang akan terlihat seperti berikut:

user_facts.view menampilkan baris 1 hingga 18

Sekarang Anda akan menguji tabel turunan SQL dinamis di Explore Order Items dengan mengulangi kueri dari tugas sebelumnya untuk melihat bahwa nilai berubah saat filter ditambahkan.

  1. Kembali ke Explore Order Items.

  2. Pilih metrik Average Lifetime Order Count dan Average Lifetime Revenue di tabel virtual User Facts.

  3. Pilih dimensi State di tabel virtual Users.

  4. Klik ikon filter di samping Filter-Only Field baru yang disebut Select Date di tabel virtual User Facts.

  5. Untuk nilai filter pertama di bagian atas UI, biarkan “is in the past” dipilih.

  6. Untuk nilai filter kedua, pilih complete years dan tambahkan 1 ke kotak nilai kosong.

  7. Dari tabel virtual Users, tambahkan filter di Country dan setel juga ke nilai yang sama USA.

  8. Klik Run untuk melihat hasilnya.

Anda akan melihat Average Lifetime Order Count dan Average Lifetime Revenue untuk setiap negara bagian atau negara selama 1 tahun lengkap terakhir.

  1. Klik tab SQL untuk meninjau SQL.

  2. Pada tahap ini, Anda dapat bereksperimen dengan nilai filter, dan meninjau tab SQL untuk melihat bagaimana perubahan nilai sesuai template filter.

  3. Kembali ke tabel virtual user_facts.

Melakukan perubahan dan men-deploy ke produksi

  1. Klik Validate LookML, lalu klik Commit Changes & Push.

  2. Tambahkan pesan commit, lalu klik Commit.

  3. Terakhir, klik Deploy to Production.

Klik Periksa progres saya untuk memverifikasi tujuan. Memperbarui tabel turunan SQL untuk menghasilkan nilai dinamis menggunakan template filter

Selamat!

Di lab ini, Anda telah membuat tabel turunan SQL untuk menghasilkan nilai dinamis menggunakan template filter dengan Liquid, dan memanfaatkan tabel turunan SQL dinamis untuk menjawab pertanyaan kompleks.

Langkah berikutnya/Pelajari lebih lanjut

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 24 April 2024

Lab Terakhir Diuji pada 24 April 2024

Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.