Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman ini menjelaskan cara kerja komposabilitas dalam tampilan metrik dan memberikan contoh yang menunjukkan kepada Anda cara menyusun logika dengan membangun dimensi, pengukuran, dan gabungan dalam satu tampilan.
Gambaran Umum
Tampilan metrik dapat dikomposisikan, yang berarti Anda dapat menentukan logika berlapis dan dapat digunakan kembali. Alih-alih menulis setiap definisi dari awal, Anda dapat membuat definisi baru yang dibangun berdasarkan dimensi dan ukuran yang ada.
Dengan komposabilitas, Anda dapat:
- Gunakan dimensi yang sudah ditentukan sebelumnya dalam dimensi baru
- Mereferensikan dimensi apa pun atau langkah-langkah yang ditentukan sebelumnya dalam langkah-langkah baru
- Kolom referensi dari gabungan yang ditentukan dalam tampilan metrik
Komposabilitas membantu Anda menghindari duplikasi, menyederhanakan definisi metrik, dan mendukung analisis yang lebih kompleks tanpa memerlukan SQL mentah setiap kali.
Komposabilitas metrik
Komposabilitas adalah prinsip membangun metrik kompleks dengan menggunakan kembali langkah-langkah dasar yang lebih sederhana. Alih-alih menulis dan memelihara logika SQL yang kompleks dan berlapis untuk setiap KPI turunan, Anda menentukan langkah-langkah "atom" inti sekali dan kemudian mereferensikannya dalam perhitungan lain yang lebih canggih. Pendekatan ini secara dramatis meningkatkan konsistensi, auditbilitas, dan pemeliharaan lapisan semantik Anda.
Fondasi komposabilitas adalah MEASURE() fungsi , yang memungkinkan definisi pengukuran untuk mereferensikan ukuran lain yang ditentukan dalam tampilan metrik yang sama.
Menentukan pengukuran dengan komposabilitas
Komposabilitas diimplementasikan di bagian measures tampilan metrik YAML.
| Jenis Pengukuran | Description | Example |
|---|---|---|
| Atomic | Agregasi sederhana dan langsung pada kolom sumber. Ini membentuk blok bangunan. | SUM(o_totalprice) |
| Terdiri | Ekspresi yang secara matematis menggabungkan satu atau beberapa ukuran lain menggunakan fungsiMEASURE(). |
MEASURE(Total Revenue) / MEASURE(Order Count) |
Contoh: Nilai Pesanan Rata-Rata (AOV)
Untuk menghitung Nilai Pesanan Rata-Rata (AOV), Anda memerlukan dua langkah: Total Revenue dan Order Count.
source: samples.tpch.orders
measures:
# Total Revenue
- name: total_revenue
expr: SUM(o_totalprice)
comment: The gross total value of all orders.
display_name: 'Total Revenue'
# Order Count
- name: order_count
expr: COUNT(1)
comment: The total number of line items or orders.
display_name: 'Order Count'
# Composed Measure: Average Order Value (AOV)
- name: avg_order_value
# Defines AOV as Total Revenue divided by Order Count
expr: MEASURE(total_revenue) / MEASURE(order_count)
comment: Total revenue divided by the number of orders.
display_name: 'Avg Order Value'
Dalam contoh ini, jika definisi total_revenue perubahan (misalnya, jika filter untuk mengecualikan pajak ditambahkan), avg_order_value secara otomatis mewarisi perubahan tersebut, memastikan metrik AOV tetap konsisten dengan aturan bisnis baru.
Komposabilitas dengan logika bersyarat
Anda dapat menggunakan komposabilitas untuk membuat rasio kompleks, persentase kondisional, dan tingkat pertumbuhan tanpa mengandalkan fungsi jendela untuk perhitungan sederhana dari periode ke periode.
Contoh: Tingkat Pemenuhan
Untuk menghitung Tingkat Pemenuhan (Pesanan Terpenuhi/ Total Pesanan), Anda terlebih dahulu menentukan ukuran untuk pesanan yang diselesaikan menggunakan FILTER klausa.
source: samples.tpch.orders
measures:
# Total Orders (denominator)
- name: total_orders
expr: COUNT(1)
comment: Total volume of orders regardless of status.
# Fulfilled Orders (numerator)
- name: fulfilled_orders
expr: COUNT(1) FILTER (WHERE o_orderstatus = 'F')
comment: Only includes orders marked as fulfilled.
# Composed Measure: Fulfillment Rate (Ratio)
- name: fulfillment_rate
expr: MEASURE(fulfilled_orders) / MEASURE(total_orders)
display_name: 'Order Fulfillment Rate'
format:
type: percentage # Using semantic metadata to format as a percent
Praktik terbaik untuk menggunakan komposabilitas
-
Tentukan ukuran atomik terlebih dahulu: Selalu tetapkan ukuran dasar Anda (
SUM,COUNT,AVG) sebelum menentukan ukuran apa pun yang mereferensikannya. -
Gunakan
MEASURE()untuk konsistensi: Selalu gunakanMEASURE()fungsi saat mereferensikan perhitungan pengukuran lain dalamexpr. Jangan mencoba mengulangi logika agregasi secara manual (misalnya, hindariSUM(a) / COUNT(b)jika ukuran untuk pembilang dan penyebut sudah ada). -
Prioritaskan keterbacaan: untuk ukuran tersusun, harus dibaca seperti rumus matematika untuk KPI. Misalnya,
MEASURE(Gross Profit) / MEASURE(Total Revenue)lebih jelas dan lebih mudah diaudit daripada ekspresi SQL kompleks tunggal. -
Gabungkan dengan metadata semantik: Setelah menyusun rasio, gunakan metadata semantik (seperti yang
fulfillment_rateditunjukkan dalam contoh) untuk memformat hasil secara otomatis sebagai persentase atau mata uang untuk alat hilir. Lihat Menggunakan metadata semantik dalam tampilan metrik.