Tingkat dapat menjadi cara yang bagus untuk mengelompokkan nilai. Namun, dengan dimensi type: tier
LookML, bucket tersebut telah ditetapkan sebelumnya dan bersifat 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 mengubah ukuran bucket secara dinamis 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 Jelajahi. Misalnya, pengguna mungkin ingin melihat usia yang dikelompokkan ke dalam bucket 10 tahun, jadi masukkan nilai 10 di 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; nilai usia apa pun antara 20 dan 29 disertakan dalam bucket 20.