Tingkatan dapat menjadi cara yang baik untuk mengelompokkan nilai. Namun, dengan dimensi LookML type: tier
, bucket tersebut bersifat standar dan statis. Terkadang, Anda mungkin ingin membuat tingkat dinamis yang memungkinkan pengguna mengubah ukuran bucket. Anda dapat melakukannya di Looker menggunakan kolom khusus filter (disebut parameter parameter
) bersama dengan bahasa template (disebut Liquid).
Anda juga dapat menggunakan pengelompokan kustom untuk membuat tingkat dinamis secara native di Jelajahi jika Anda memiliki izin untuk membuat atau mengedit kolom kustom.
Untuk membuat tingkat dinamis:
-
Buat parameter
type: number
untuk berfungsi sebagai kolom filter frontend tempat pengguna dapat memasukkan ukuran bucket numerik yang mereka inginkan. -
Buat dimensi yang mereferensikan nilai parameter dengan variabel Liquid
{% parameter parameter_name %}
. Dimensi ini menentukan berbagai bucket dan akan secara dinamis mengubah ukuran bucket ke nilai yang dimasukkan oleh pengguna di kolom filter frontend (parameterparameter
).
Misalnya, developer membuat tingkat usia dinamis yang memungkinkan pengguna mengelompokkan nilai usia menurut rentang kustom:
Sintaksis SQL untuk contoh berikut mungkin perlu disesuaikan agar sesuai dengan dialek database Anda.
parameter: age_tier_bucket_size { type: number } dimension: dynamic_age_tier { type: number sql: TRUNCATE(${TABLE}.age / {% parameter age_tier_bucket_size %}, 0) * {% parameter age_tier_bucket_size %} ;; }
Pengguna kini dapat memilih nilai tingkat untuk kolom Usia di Jelajah. Misalnya, pengguna mungkin ingin melihat usia yang dikelompokkan ke dalam bucket 10 tahun, jadi masukkan nilai 10 dalam filter Ukuran Bucket Tingkat Usia:
Ekspresi SQL dalam dimensi dynamic_age_tier
membagi nilai usia dari kolom ${TABLE}.age
pokok — misalnya 25 — dengan nilai parameter 10, sehingga menghasilkan 2, 5. Nilai 2,5 dipotong menjadi 2 oleh fungsi TRUNCATE
dan dikalikan dengan nilai parameter 10, sehingga menghasilkan 20. 20 menjadi bucket; setiap nilai usia antara 20 dan 29 akan disertakan dalam bucket 20.