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 memodelkan tampilan metrik dan praktik terbaik untuk bekerja dengannya.
Tampilan metrik membantu membuat lapisan semantik untuk data Anda, mengubah tabel mentah menjadi metrik standar dan ramah bisnis. Mereka menentukan apa yang harus diukur, cara mengagregasinya, dan cara mensegmentasinya, memastikan bahwa setiap pengguna di seluruh organisasi melaporkan angka yang sama untuk Key Performance Indicator (KPI) yang sama. Tujuannya adalah untuk menciptakan satu sumber kebenaran untuk metrik bisnis.
Dengan memodelkan data Anda sebagai tampilan metrik, Anda mengabstraksi SQL yang kompleks, struktur tabel, dan masalah kualitas data, memungkinkan analis untuk fokus murni pada analisis.
Komponen inti
Pemodelan tampilan metrik melibatkan penentuan elemen berikut atas data sumber Anda:
| Komponen | Description | Example |
|---|---|---|
| Sumber | Tabel dasar, tampilan, atau kueri SQL yang berisi data transaksi mentah. | samples.tpch.orders |
| Dimensi | Atribut kolom yang digunakan untuk mengelompokkan atau membagi metrik. | Kategori produk, Bulan pesanan, Wilayah pelanggan |
| Langkah | Agregasi kolom yang menghasilkan metrik. Langkah-langkah inilah yang biasanya Anda laporkan. |
COUNT(o_order_id) sebagai Jumlah Pesanan, SUM(o_total_price) sebagai Total Pendapatan. |
| Filter | Kondisi persisten diterapkan ke data sumber untuk menentukan cakupan. |
|
Menentukan sumber
Anda bisa menggunakan aset seperti tabel atau kueri SQL sebagai sumber untuk tampilan metrik Anda. Untuk menggunakan aset seperti tabel, Anda harus memiliki setidaknya SELECT hak istimewa pada aset.
Menggunakan tabel sebagai sumber
Untuk menggunakan tabel sebagai sumber, sertakan nama tabel yang sepenuhnya memenuhi syarat, seperti dalam contoh berikut.
source: samples.tpch.orders
Menggunakan kueri SQL sebagai sumber
Untuk menggunakan kueri SQL, tulis teks kueri langsung di YAML.
source: SELECT * FROM samples.tpch.orders o
LEFT JOIN samples.tpch.customer c
ON o.o_custkey = c.c_custkey
Nota
Saat menggunakan kueri SQL sebagai sumber dengan klausul JOIN, Databricks merekomendasikan menetapkan batasan kunci utama dan kunci asing pada tabel yang mendasar, serta menggunakan opsi RELY untuk performa optimal jika berlaku pada waktu kueri. Untuk informasi selengkapnya tentang menggunakan batasan kunci primer dan asing, lihat Mendeklarasikan kunci primer dan hubungan kunci asing dan Pengoptimalan kueri menggunakan batasan kunci utama.
Menggunakan tampilan metrik sebagai sumber
Anda juga dapat menggunakan tampilan metrik yang sudah ada sebagai sumber untuk tampilan metrik baru:
version: 1.1
source: views.examples.source_metric_view
dimensions:
# Dimension referencing dimension from source_metric_view
- name: Order date
expr: order_date_dim
measures:
# Measure referencing dimension from source_metric_view
- name: Latest order month
expr: MAX(order_date_dim_month)
# Measure referencing measure from source_metric_view
- name: Latest order year
expr: DATE_TRUNC('year', MEASURE(max_order_date_measure))
Saat menggunakan tampilan metrik sebagai sumber, aturan komposabilitas yang sama berlaku untuk mereferensikan dimensi dan ukuran. Lihat Komposabilitas.
Dimensi
Dimensi adalah kolom yang digunakan dalam SELECT, WHERE, dan GROUP BY pada waktu kueri. Setiap ekspresi harus mengembalikan nilai skalar. Dimensi didefinisikan sebagai array. Setiap dimensi terdiri dari dua komponen:
name: Nama alias kolom.expr: Ekspresi SQL pada data sumber yang menentukan dimensi atau dimensi yang ditentukan sebelumnya dalam tampilan metrik.
Nota
Mulai dari versi 1.1, Anda juga dapat menentukan metadata semantik (nama tampilan, format, dan sinonim) untuk setiap dimensi. Lihat Menggunakan metadata semantik dalam tampilan metrik untuk detailnya.
Tindakan
Ukuran adalah kolom yang didefinisikan sebagai array ekspresi yang menghasilkan hasil tanpa tingkat agregasi yang ditentukan sebelumnya. Mereka harus diekspresikan menggunakan fungsi agregat. Untuk mereferensikan pengukuran dalam kueri, Anda harus menggunakan fungsi .MEASURE Pengukuran dapat mereferensikan bidang dasar dalam data sumber atau dimensi yang ditentukan sebelumnya. Setiap ukuran terdiri dari komponen-komponen berikut:
name: Alias untuk pengukuran.expr: Ekspresi SQL agregat yang dapat menyertakan fungsi agregat SQL.
Contoh berikut menunjukkan pola pengukuran umum:
measures:
# Simple count measure
- name: Order Count
expr: COUNT(1)
# Sum aggregation measure
- name: Total Revenue
expr: SUM(o_totalprice)
# Distinct count measure
- name: Unique Customers
expr: COUNT(DISTINCT o_custkey)
# Calculated measure combining multiple aggregations
- name: Average Order Value
expr: SUM(o_totalprice) / COUNT(DISTINCT o_orderkey)
# Filtered measure with WHERE condition
- name: High Priority Order Revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderpriority = '1-URGENT')
# Measure using a dimension
- name: Average Revenue per Month
expr: SUM(o_totalprice) / COUNT(DISTINCT DATE_TRUNC('MONTH', o_orderdate))
Lihat Fungsi agregat untuk daftar fungsi agregat.
Lihat fungsi agregat measure.
Nota
Mulai dari versi 1.1, Anda juga dapat menentukan metadata semantik (nama tampilan, format, dan sinonim) untuk setiap ukuran. Lihat Menggunakan metadata semantik dalam tampilan metrik untuk detailnya.
Menerapkan filter
Filter dalam definisi YAML dari tampilan metrik berlaku untuk semua kueri yang mereferensikannya. Ini harus ditulis sebagai ekspresi boolean SQL dan setara dengan menggunakan WHERE klausa dalam kueri SQL.
Contoh berikut menunjukkan pola filter umum:
# Single condition filter
filter: o_orderdate > '2024-01-01'
# Multiple conditions with AND
filter: o_orderdate > '2024-01-01' AND o_orderstatus = 'F'
# Multiple conditions with OR
filter: o_orderpriority = '1-URGENT' OR o_orderpriority = '2-HIGH'
# Complex filter with IN clause
filter: o_orderstatus IN ('F', 'P') AND o_orderdate >= '2024-01-01'
# Filter with NOT
filter: o_orderstatus != 'O' AND o_totalprice > 1000.00
# Filter with LIKE pattern matching
filter: o_comment LIKE '%express%' AND o_orderdate > '2024-01-01'
Anda juga bisa menambahkan filter saat mengkueri atau menggunakan tampilan metrik.
Kemampuan pemodelan tingkat lanjut
Pemodelan tampilan metrik mendukung teknik canggih untuk membuat metrik canggih dan sangat dapat digunakan kembali.
Joins
Gabungan memungkinkan Anda memperkaya tampilan metrik Anda dengan atribut deskriptif dari tabel terkait. Anda dapat menggunakan penggabungan untuk memodelkan hubungan dari tabel fakta ke tabel dimensi (skema bintang) dan untuk menelusuri dari dimensi ke subdimensi, memungkinkan penggabungan multi-langkah di seluruh tabel dimensi yang dinormalisasi (skema snowflake).
Lihat Menggunakan gabungan dalam tampilan metrik.
Ukuran jendela
Penting
Fitur ini bersifat Percobaan.
Metode pengukuran berjendela memungkinkan Anda menentukan pengukuran dengan agregasi berjendela, akumulatif, atau semi-aditif dalam tampilan metrik Anda. Langkah-langkah jenis ini memungkinkan perhitungan yang lebih kompleks, seperti rata-rata bergerak, perubahan antar periode, dan total kumulatif. Lihat Menggunakan pengukuran jendela dalam tampilan metrik untuk contoh yang menunjukkan cara menggunakan pengukuran jendela dalam tampilan metrik.
Komposabilitas
Tampilan metrik dapat disusun, memungkinkan Anda membangun logika kompleks dengan mereferensikan elemen yang ditentukan sebelumnya. Anda dapat merujuk dimensi yang sudah ditentukan dalam dimensi baru, merujuk dimensi apa pun atau ukuran yang telah ditentukan sebelumnya dalam ukuran baru, dan merujuk kolom dari join yang ditentukan dalam tampilan metrik.
Lihat Komposabilitas dalam tampilan metrik.
Metadata semantik
Metadata semantik membantu mengonsumsi alat memahami cara menampilkan dan memperlakukan ukuran dan dimensi. Ini termasuk properti seperti:
| Metadata semantik | Example |
|---|---|
| Nama tampilan |
Total Revenue bukan sum_o_price. |
| Format tampilan | Menstandarkan pemformatan untuk mata uang, persentase, dan tanggal. |
| Komentar | Jelaskan definisi bisnis metrik dalam bahasa alami. |
Saat Anda menentukan metadata semantik, metadata tersebut akan berjalan dengan metrik. Misalnya, saat analis menggunakan Total Pendapatan di dasbor, itu secara otomatis ditampilkan sebagai mata uang.
Lihat Menggunakan metadata semantik dalam tampilan metrik.
Sintaks dan pemformatan YAML
Definisi tampilan metrik mengikuti sintaks notasi YAML standar. Lihat Referensi sintaks YAML untuk mempelajari tentang sintaks dan pemformatan yang diperlukan untuk menentukan tampilan metrik. Lihat dokumentasi SPESIFIKASI YAML 1.2.2 untuk mempelajari selengkapnya tentang spesifikasi YAML.
Ukuran jendela
Pengukuran jendela menghitung nilai melalui jendela yang telah ditentukan, atau rentang baris yang terkait dengan baris saat ini. Anda dapat menggunakan ukuran jendela untuk rangkaian waktu dan analisis komparatif, memungkinkan Anda menentukan metrik seperti:
- Total Pendapatan Bergulir 30 Hari: Jumlah pendapatan selama 30 hari terakhir
- Pendapatan Tahun Ini (YTD): Jumlah kumulatif dari awal tahun
- Perbandingan Periode Sebelumnya: Pendapatan dari bulan sebelumnya
Lihat Menggunakan ukuran jendela dalam tampilan metrik.
Praktik terbaik untuk memodelkan tampilan metrik
Gunakan panduan berikut saat memodelkan tampilan metrik:
-
Langkah-langkah atom model: Mulailah dengan mendefinisikan langkah-langkah yang paling sederhana dan tidak dihitung terlebih dahulu (misalnya,
SUM(revenue),COUNT(DISTINCT customer_id)). Bangun langkah-langkah kompleks (seperti AOV) menggunakan komposabilitas. -
Standarisasi nilai dimensi: Gunakan transformasi (seperti
CASEpernyataan atau ekspresi) untuk mengonversi kode database kriptik menjadi nama bisnis yang jelas (misalnya, mengonversi status pesanan 'O' menjadi 'Terbuka' dan 'F' menjadi 'Terpenuhi'). - Tentukan cakupan dengan filter: Bersikap sengaja terhadap filter persisten. Jika tampilan metrik hanya boleh menyertakan pesanan yang selesai, tentukan filter tersebut dalam tampilan metrik sehingga pengguna tidak dapat secara tidak sengaja menyertakan data yang tidak lengkap.
-
Gunakan penamaan yang ramah bisnis: Nama metrik harus segera dikenali oleh pengguna bisnis (misalnya, Nilai Seumur Hidup Pelanggan vs.
cltv_agg_measure). - Dimensi waktu terpisah: Selalu sertakan dimensi waktu terperinci (seperti Tanggal Pesanan) dan dimensi waktu terpotong (seperti Bulan Pesanan atau Minggu Pesanan) untuk mendukung analisis tingkat detail dan tren.