So formatieren Sie Datumsangaben mit Liquid

Es kann vorkommen, dass Sie die Art und Weise ändern möchten, wie Looker Datumsangaben formatiert.

Wenn Sie beispielsweise Explores und Dashboards für User in Europa erstellen, sollten alle Datumsangaben in einem rein numerischen Format in der Reihenfolge Tag-Monat-Jahr erscheinen. Der 7. Juni 2019 sollte beispielsweise als 07/06/2019 oder Jun 07, 2019 formatiert werden. Das Standardformat von Looker rendert das Datum als 2019-06-07. Obwohl Sie SQL-Funktionen wie DATE_FORMAT() verwenden können, um ein Datumsformat zu ändern, möchten Sie möglicherweise nicht alles in einfachem SQL schreiben.

Liquid im Parameter html verwenden

Sie können im Parameter html einer Dimension die Flüssigkeitsformatierung verwenden, um das Format aller Felder mit einem gültigen Datumsformat zu ändern. Liquid erwartet ein gültiges Datum. Verwenden Sie daher am besten die Zeiträume aus einer vorhandenen Dimensionsgruppe. Sie können die Zahlen für die Woche oder den Monat nicht ändern, da diese als Ganzzahlen zurückgegeben werden.

Sie können beispielsweise ${created_date} so formatieren, dass es als Aug 23 22 anstelle des Looker-Standard-2022-08-23s gerendert wird:


  dimension: date_formatted {
    sql: ${created_date} ;;
    html:{{ rendered_value | date: "%b %d, %y" }};;
  }


Das Format für die Stringsyntax "%b %d, %y" entspricht dem Format strftime.

Da für den html-Parameter die Liquid-Formatierung verwendet wird, wird der ursprüngliche Wert des Zeitraums nicht geändert – nur so, wie der Wert für den Nutzer gerendert wird. Dadurch wird sichergestellt, dass sich die Reihenfolge, in der Daten in einer Abfrage angezeigt werden, nicht ändert.

Im Folgenden finden Sie einige weitere Beispiele, die Sie verwenden können. Eine ausführlichere Übersicht der verfügbaren Formate findest du unten auf dieser Seite.

Voreinstellung Beispiel
%m/%d/%Y 05.06.2013
%A, %B %e, %Y Mittwoch, 5. Juni 2013
%b %e %a 5. Juni, Mi.

Beispiel

Im folgenden Beispiel für eine Explore-Abfrage werden Order Items Date und Orders Items Week unterschiedlich formatiert und unter dem Gruppenlabel Erstellungsdatum organisiert, um eine Datumsdimensionsgruppe in der Feldauswahl „Explore“ zu simulieren.

Mit der benutzerdefinierten Formatierung sehen Nutzer in absteigender Reihenfolge, welches Datum und welche Kalenderwoche dem größten Wert für Anzahl der Elemente entsprechen.

Weitere Informationen zur Verwendung des Parameters group_label finden Sie auf der Dokumentationsseite zu group_label.

Eine Explore-Abfrage zeigt Ergebnisse für die benutzerdefinierte Datumsformatierung für Bestellpositionsdatum und Auftragsartikelwoche absteigend sortiert an.

LookML

Im Explore-Beispiel wird der folgende LookML-Code verwendet:



# The original dimension group - hidden so that users can only choose from the formatted dates date and week timeframes
  dimension_group: created {
    hidden: yes
    type: time
    timeframes: [
      raw,
      time,
      date,
      hour,
      hour_of_day,
      time_of_day,
      week,
      month,
      quarter,
      year
    ]
    sql: ${TABLE}.created_at ;;
  }

# The customized timeframes, organized in the Explore field picker under the group label Created date
  dimension: date_formatted {
    group_label: "Created date"
    label: "Date"
    type: date_raw
    sql: ${created_date} ;;
    html: {{ rendered_value | date: "%b %d, %y" }};;
  }

  dimension: week_formatted {
    group_label: "Created date"
    label: "Week"
    type: date_raw
    sql: ${created_week} ;;
    html: {{ rendered_value | date: "Week %U (%b %d)" }};;
  }


strftime Reference

In der folgenden Tabelle sind verschiedene strftime-Formate aufgeführt. Beachten Sie, dass nicht alle Formate in Looker wie erwartet gerendert werden.

Spezifizierer Ersetzt durch Beispiel
%a Abgekürzter Wochentagname * Do.
%A Vollständiger Wochentag * Donnerstag
%b Abgekürzter Monatsname * Aug.
%B Vollständiger Monatsname * August
%c Darstellung von Datum und Uhrzeit * Thu Aug 23 14:55:02 2001
%C Jahr geteilt durch 100 und gekürzt auf Ganzzahl (00–99) 20
%d Tag des Monats, mit Nullen aufgefüllt (01–31) 23
%D Kurzes Datum für TT.MM.JJ, entspricht %m/%d/%y 08/23/01
%e Tag des Monats, mit Leerzeichen aufgefüllt ( 1–31) 23
%F Kurzes Datum JJJJ-MM-TT, entspricht %Y-%m-%d 2001-08-23
%g Wochenbasiertes Jahr, letzte zwei Stellen (00–99) 1
%G Wochenbasiertes Jahr 2001
%h Abgekürzter Monatsname * (wie %b) Aug.
%H Stunde im 24-Stunden-Format (00–23) 14
%I Stunde im 12-Stunden-Format (01-12) 02
%j Tag des Jahres (001–366) 235
%k Uhrzeit im 24-Stunden-Format, vor den einzelnen Ziffern ist ein Leerzeichen (0–23) 14
%l Uhrzeit im 12-Stunden-Format, vor den einzelnen Ziffern ist ein Leerzeichen (0–12) 2
%m Monat als Dezimalzahl (01–12) 8
%M Minute (00–59) 55
%n Zeilenumbruchzeichen ('\n')
%P am oder pm-Bezeichnung in Kleinbuchstaben p.m.
%r 12-Stunden-Format * 14:55:02
%R 24-Stunden-Zeitformat HH:MM, entspricht %H:%M 14:55
%s Anzahl der Sekunden seit der Epoche, 01.01.1970 00:00:00 +0000 (UTC) 1566236649
%S Sekunde (00–61) 2
%t Horizontaler Tabulator ('\t')
%T ISO 8601-Zeitformat (HH:MM:SS), entspricht %H:%M:%S 14:55:02
%u ISO 8601-Wochentag als Zahl mit Montag als 1 (1-7) 4
%U Wochennummer mit dem ersten Sonntag als erstem Tag der ersten Woche (00–53) 33
%V ISO 8601-Wochennummer (01-53) 34
%w Wochentag als Dezimalzahl mit Sonntag als 0 (0–6) 4
%W Wochennummer mit dem ersten Montag als ersten Tag der ersten Woche (00–53) 34
%x Datumsdarstellung * 08/23/01
%X Zeitdarstellung * 14:55:02
%y Jahr, letzte zwei Ziffern (00–99) 1
%Y Jahr 2001
%z ISO 8601-Abweichung von UTC in der Zeitzone (1 Minute=1, 1 Stunde=100) Wenn die Zeitzone nicht ermittelt werden kann, keine Zeichen 100
%Z Name oder Abkürzung der Zeitzone *Wenn die Zeitzone nicht ermittelt werden kann, werden keine Zeichen verwendet. Logo: CDT
%% Ein %-Zeichen %