I livelli sono un ottimo modo per creare bucket in bucket. Tuttavia, con le dimensioni LookML type: tier
, questi bucket sono predefiniti e statici. A volte potresti voler creare un livello dinamico che consenta agli utenti di modificare le dimensioni del bucket. Puoi farlo in Looker utilizzando i campi con solo filtri (chiamati parametri parameter
) in combinazione con un linguaggio di creazione di modelli (chiamato Liquid).
Puoi anche utilizzare la classificazione personalizzata per creare livelli dinamici in modo nativo nelle esplorazioni se disponi dell'autorizzazione per creare o modificare campi personalizzati.
Per creare un livello dinamico:
-
Crea un parametro di
type: number
da utilizzare come campo filtro frontend in cui l'utente può inserire le dimensioni numeriche del bucket desiderato. -
Crea una dimensione che fa riferimento al valore parametro con la variabile Liquid
{% parameter parameter_name %}
. Questa dimensione determina i vari bucket e modifica dinamicamente le dimensioni del bucket in base al valore inserito dall'utente nel campo del filtro frontend (parametroparameter
).
Ad esempio, uno sviluppatore crea un livello di età dinamico che consente agli utenti di raggruppare i valori di età in base a intervalli personalizzati:
La sintassi SQL per il seguente esempio potrebbe dover essere adattata al dialetto del database.
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 %} ;; }
Un utente può ora scegliere i valori del livello per la colonna Età in un'esplorazione. Ad esempio, un utente potrebbe voler vedere le fasce d'età raggruppate in bucket di 10 anni, quindi inserisci il valore 10 nel filtro Dimensione bucket per la fascia di età:
L'espressione SQL nella dimensione dynamic_age_tier
divide un valore di età della colonna ${TABLE}.age
sottostante, ad esempio 25, per il valore del parametro 10, ottenendo 2,5. Il valore 2,5 viene troncato a 2 dalla funzione TRUNCATE
e moltiplicato per il valore del parametro 10, ottenendo 20. 20 diventa il bucket; qualsiasi valore compreso tra 20 e 29 anni è incluso nel bucket 20.