Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you restart it, you'll have to start from the beginning.
- Click Start lab to begin
Create a new dataset
/ 25
Identify a key field in your ecommerce dataset
/ 25
Pitfall: non-unique key
/ 25
Join pitfall solution
/ 25
BigQuery adalah database analisis berbiaya rendah dan tanpa pengoperasian (NoOps) yang dikelola sepenuhnya oleh Google. Dengan BigQuery, Anda dapat mengkueri data berskala terabyte tanpa perlu mengelola infrastruktur atau memiliki administrator database. BigQuery menggunakan SQL dan dapat memanfaatkan model bayar sesuai penggunaan. Dengan BigQuery, Anda dapat berfokus untuk menganalisis data guna menemukan insight yang bermakna.
Menggabungkan tabel data dapat memberikan insight yang bermakna terkait set data Anda. Namun, saat menggabungkan data, ada kendala umum yang dapat merusak hasil Anda. Lab ini berfokus untuk menghindari kendala tersebut. Jenis-jenis gabungan (join):
Untuk mengetahui informasi lebih lanjut tentang penggabungan, lihat Halaman Gabungan.
Set data yang digunakan dalam lab ini adalah set data e-commerce yang memiliki jutaan kumpulan data Google Analytics untuk Google Merchandise Store yang dimuat ke BigQuery. Anda memiliki salinan set data tersebut untuk lab ini dan akan menjelajahi kolom dan baris yang tersedia untuk mendapatkan insight.
Untuk mengetahui informasi sintaksis guna membantu Anda mengikuti dan memperbarui kueri, lihat Sintaksis Kueri SQL Standar.
Di lab ini, Anda akan mempelajari cara:
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:
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info berikut:
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
Anda juga dapat menemukan Username di panel Lab Details.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
Anda juga dapat menemukan Password di panel Lab Details.
Klik Next.
Klik halaman berikutnya:
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Kotak pesan Welcome to BigQuery in the Cloud Console akan terbuka. Kotak pesan ini menyediakan link ke panduan memulai dan catatan rilis.
Konsol BigQuery terbuka.
Di project BigQuery Anda, buat set data baru yang bernama ecommerce
.
Dialog Create dataset terbuka.
Tetapkan dataset ID ke ecommerce
.
Biarkan opsi lain diisi dengan nilai defaultnya, lalu klik Create dataset.
Di panel kiri, terlihat sebuah tabel ecommerce
yang tercantum dalam project Anda.
Klik Check my progress untuk memverifikasi tujuan.
Skenario: Tim Anda memberikan set data baru terkait tingkat stok inventaris untuk tiap produk yang dijual di situs e-commerce Anda. Anda ingin memahami produk di situs dan kolom yang dapat Anda gunakan untuk digabungkan ke set data lain.
Project dengan set data baru ini adalah data-to-insights.
Kotak pesan Welcome to BigQuery pada Konsol Cloud akan terbuka.
Klik Done.
Set data publik BigQuery tidak ditampilkan secara default. Untuk membuka project set data publik, salin data-to-insights.
Klik + Add > Star a project by name lalu tempel nama data-to-insights.
Klik Star.
Project data-to-insights
dicantumkan pada bagian Explorer.
Selanjutnya, kenali produk dan kolom di situs yang dapat Anda gunakan untuk membuat kueri guna menganalisis set data.
Di panel sebelah kiri pada bagian Resources, arahkan kursor ke data-to-insights
> ecommerce
> all_sessions_raw
.
Di sebelah kanan, di bawah Query editor, klik tab Schema untuk melihat Fields dan informasi terkait tiap kolom.
Periksa produk dan kolom lebih lanjut. Anda ingin memahami produk di situs dan kolom yang dapat Anda gunakan untuk digabungkan ke set data lain.
Di bagian ini, Anda akan mengetahui berapa banyak nama produk dan SKU produk yang ada di situs Anda dan apakah salah satu kolom tersebut unik atau tidak.
Lihat hasil penomoran halaman di konsol untuk mengetahui jumlah total kumpulan data yang ditampilkan.
Tapi apakah hasil ini berarti SKU produk yang unik ada sebanyak itu? Salah satu kueri pertama yang akan Anda jalankan sebagai analis data adalah melihat keunikan nilai data Anda.
DISTINCT
:Sekarang tentukan produk mana yang memiliki lebih dari satu SKU dan SKU mana yang memiliki lebih dari satu Nama Produk.
Hasil:
ecommerce website catalog menunjukkan bahwa tiap nama produk mungkin memiliki beberapa pilihan (ukuran, warna) yang dijual sebagai SKU terpisah.
Jadi Anda sudah melihat bahwa 1 Produk bisa memiliki 12 SKU. Bagaimana dengan 1 SKU? Apakah boleh dimiliki lebih dari 1 produk?
Anda akan melihat mengapa hubungan data many-to-many ini menjadi masalah di bagian berikutnya.
Klik Check my progress untuk memverifikasi tujuan.
Dalam pelacakan inventaris, SKU dirancang untuk mengidentifikasi satu dan hanya satu produk secara unik. Namun, hal ini akan menjadi dasar kondisi JOIN Anda ketika Anda mencari informasi dari tabel lain. Memiliki kunci yang tidak unik dapat menyebabkan masalah data yang serius seperti yang akan Anda lihat.
'GGOEGPJC019099'
.Solusi yang dapat dilakukan:
v2ProductName |
productSKU |
7" Dog Frisbee |
GGOEGPJC019099 |
7" Dog Frisbee |
GGOEGPJC019099 |
Google 7-inch Dog Flying Disc Blue |
GGOEGPJC019099 |
Dari hasil kueri, sepertinya ada tiga nama berbeda untuk produk yang sama. Dalam contoh ini, terdapat karakter khusus pada satu nama dan nama yang sedikit berbeda untuk yang lain:
Sekarang lihat dampak penggabungan pada set data yang memiliki beberapa produk untuk satu SKU. Pertama-tama, jelajahi set data inventaris produk (tabel products
) untuk melihat apakah SKU ini unik atau tidak di tabel tersebut.
Anda sekarang memiliki dua set data: satu untuk tingkat stok inventaris dan yang lainnya untuk analisis situs kita. Dengan fungsi JOIN, gabungkan set data inventaris dengan nama produk dan SKU situs Anda, sehingga Anda dapat mengetahui tingkat stok inventaris yang terkait dengan tiap produk yang dijual di situs.
Selanjutnya, perluas kueri sebelumnya untuk menjumlahkan inventaris yang tersedia berdasarkan produk menggunakan fungsi SUM.
Astaga! Jadinya 154x3=462 atau inventaris dihitung tiga kali! Ini disebut cross join yang tidak disengaja (topik yang akan dibahas nanti).
Klik Check my progress untuk memverifikasi tujuan.
Apa saja pilihan untuk mengatasi dilema penghitungan rangkap tiga yang Anda alami? Pertama, Anda perlu memilih hanya SKU yang berbeda dari situs sebelum menggabungkan dengan set data lainnya.
Anda tahu bahwa mungkin ada lebih dari satu nama produk (misalnya 7" Dog Frisbee) yang dapat menggunakan SKU yang sama.
Sekarang, alih-alih memiliki baris untuk tiap Nama Produk, Anda hanya memiliki satu baris untuk tiap SKU unik.
Sekarang Anda siap untuk menggabungkan dengan set data inventaris produk Anda lagi.
Tampaknya 819 SKU hilang setelah menggabungkan set data tersebut. Selidiki hal ini dengan menambahkan lebih banyak kekhususan di kolom Anda (satu kolom SKU dari tiap set data):
Tampaknya SKU tersebut ada di kedua set data setelah penggabungan 1.090 kumpulan data ini. Bagaimana cara menemukan kumpulan data yang hilang?
Jenis JOIN default adalah INNER JOIN yang menampilkan kumpulan data hanya jika ada kecocokan SKU di tabel kiri dan kanan yang digabungkan.
Solusi yang dapat dilakukan:
Anda telah berhasil menggunakan LEFT JOIN untuk menampilkan ke-1.909 SKU asli situs dalam hasil Anda.
Berapa banyak SKU yang hilang dari set inventaris produk Anda?
Solusi yang dapat dilakukan:
Pertanyaan: Berapa banyak produk yang hilang?
Jawaban: 819 produk hilang (SKU IS NULL) dari set data inventaris produk Anda.
Sekarang, bagaimana dengan situasi sebaliknya? Apakah ada produk dalam set data inventaris produk tetapi hilang dari situs?
Solusi yang dapat dilakukan:
Jawaban: Ya. Ada dua SKU produk yang hilang dari set data situs
Selanjutnya, tambahkan lebih banyak kolom dari set data inventaris produk untuk mendapatkan detail selengkapnya.
Mengapa produk di bawah ini hilang dari set data situs e-commerce?
website_SKU |
SKU |
name |
orderedQuantity |
stockLevel |
restockingLeadTime |
sentimentScore |
sentimentMagnitude |
null |
GGOBJGOWUSG69402 |
USB wired soundbar - in store only |
10 |
15 |
2 |
1.0 |
1.0 |
null |
GGADFBSBKS42347 |
PC gaming speakers |
0 |
100 |
1 |
null |
null |
Kemungkinan jawaban:
Mengapa produk baru tidak muncul di set data situs Anda?
Bagaimana jika Anda menginginkan satu kueri yang mencantumkan semua produk yang hilang dari situs atau inventaris?
Solusi yang dapat dilakukan:
Anda memiliki 819+2=821 SKU produk.
LEFT JOIN + RIGHT JOIN = FULL JOIN yang menampilkan semua kumpulan data dari kedua tabel, terlepas dari apakah ada kunci gabungan yang cocok atau tidak. Anda kemudian memfilter dan mengeluarkan ketidakcocokan pada salah satu sisi
Tidak mengetahui hubungan antara kunci tabel data (1:1, 1:N, N:N) dapat memberikan hasil yang tidak diharapkan dan juga mengurangi performa kueri secara signifikan.
Jenis gabungan yang terakhir adalah CROSS JOIN.
Buat tabel baru dengan persentase diskon seluruh situs yang ingin Anda terapkan di seluruh produk dalam kategori Clearance.
Di panel kiri, site_wide_promotion
kini tercantum di bagian Resource di bawah project dan set data Anda.
Lihat dampak penambahan lebih dari satu kumpulan data secara tidak disengaja di tabel diskon.
Selanjutnya, lihat nilai data di tabel promosi.
Berapa banyak kumpulan data yang ditampilkan?
Jawaban: 3
Apa yang terjadi jika Anda menerapkan diskon lagi di semua 82 produk clearance?
Berapa banyak produk yang ditampilkan?
Jawaban: Alih-alih 82, Anda sekarang memiliki 246 kumpulan data yang ditampilkan dan jumlah ini lebih banyak daripada tabel awal Anda.
Sekarang selidiki penyebab utamanya dengan memeriksa satu SKU produk.
Apa dampak dari CROSS JOIN?
Jawaban: Karena ada 3 kode diskon untuk digabungkan dengan cross join, Anda menyebabkan set data asli dikalikan 3.
Solusinya adalah mengetahui hubungan data Anda sebelum melakukan penggabungan dan jangan menganggap kunci-kunci adalah unik.
Klik Check my progress untuk memverifikasi tujuan.
Anda telah menyelesaikan lab ini dan mengatasi beberapa kendala serius dalam penggabungan SQL dengan mengidentifikasi kumpulan data duplikat dan mengetahui kapan harus menggunakan tiap jenis JOIN. Bagus!
...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 03 Februari 2024
Lab Terakhir Diuji pada 20 September 2023
Hak cipta 2025 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.