Dynamische Ebenen erstellen

Stufen sind eine gute Möglichkeit, Werte in Gruppen zu ordnen. Mit LookML-Dimensionen vom Typ type: tier sind diese Buckets jedoch vordefiniert und statisch. Manchmal möchten Sie vielleicht eine dynamische Stufe erstellen, mit der Nutzer die Bucket-Größe ändern können. Dazu können Sie in Looker reine Filterfelder (sogenannte parameter-Parameter) in Verbindung mit einer Vorlagensprache (Liquid) verwenden.

Sie können auch benutzerdefiniertes Binning verwenden, um dynamische Ebenen nativ in Explores zu erstellen, wenn Sie benutzerdefinierte Felder erstellen oder bearbeiten haben.

So erstellen Sie eine dynamische Stufe:

  1. Erstellen Sie einen Parameter von type: number, der als Front-End-Filterfeld dient, in das der Nutzer die gewünschte numerische Bucket-Größe eingeben kann.
  2. Erstellen Sie eine Dimension, die mit der Liquid-Variablen {% parameter parameter_name %} auf den Parameterwert verweist. Diese Dimension bestimmt die verschiedenen Buckets und ändert die Bucket-Größe dynamisch in den Wert, der vom Nutzer im Front-End-Filterfeld eingegeben wurde (Parameter parameter).

Ein Entwickler erstellt beispielsweise eine dynamische Altersstufe, mit der Nutzer Alterswerte in benutzerdefinierte Bereiche unterteilen können:

Die SQL-Syntax für das folgende Beispiel muss möglicherweise an Ihren Datenbankdialekt angepasst werden.
  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 %} ;;
  }

Ein Nutzer kann jetzt Stufenwerte für die Spalte Age (Alter) in einem Explore auswählen. Wenn ein Nutzer beispielsweise Altersgruppen in Gruppen von 10 Jahren gruppieren möchte, geben Sie den Wert 10 in den Filter Bucket-Größe der Altersstufe ein:

Explore mit „Dynamische Altersstufe der Nutzer“ und „Nutzeranzahl“ gefiltert nach dem Wert „10“ im Filter „Bucket-Größe der Nutzer-Altersstufe“.

Der SQL-Ausdruck in der Dimension dynamic_age_tier teilt einen Alterswert aus der zugrunde liegenden Spalte ${TABLE}.age – z. B. 25 – durch den Parameterwert 10, was 2,5 ergibt. Der Wert 2,5 wird von der Funktion TRUNCATE auf 2 gekürzt und mit dem Parameterwert 10 multipliziert, woraus sich 20 ergibt. wird aus 20 der Eimer; Jeder Wert zwischen 20 und 29 wird der Gruppe 20 hinzugefügt.