Datumsangaben mit Liquid formatieren

In einigen Fällen kann es sinnvoll sein, die Datumsformatierung in Looker zu ändern.

Wenn Sie beispielsweise explorative Datenanalysen und Dashboards für Nutzer in Europa erstellen, sollten alle Datumsangaben im reinen Zahlenformat in der Reihenfolge Tag-Monat-Jahr angezeigt werden. Der 7. Juni 2019 sollte beispielsweise als 07/06/2019 oder Jun 07, 2019 formatiert werden. Im Standardformat von Looker wird das Datum als 2019-06-07 dargestellt. Sie können zwar SQL-Funktionen wie DATE_FORMAT() verwenden, um ein Datumsformat zu ändern, aber Sie möchten möglicherweise nicht alles in reinen SQL-Code schreiben.

Liquid im Parameter html verwenden

Sie können die Liquid-Formatierung im Parameter html einer Dimension verwenden, um das Format eines Felds mit einem gültigen Datumsformat zu ändern. Da Liquid ein gültiges Datum erwartet, sollten Sie die Zeiträume aus einer vorhandenen Dimensionsgruppe verwenden. Die Nummern für Woche oder Monat können nicht geändert werden, da sie als Ganzzahlen zurückgegeben werden.

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


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


Das Format der Stringsyntax "%b %d, %y" entspricht dem von strftime.

Da für den Parameter html die Liquid-Formatierung verwendet wird, ändert sich der ursprüngliche Wert des Zeitraums nicht, sondern nur die Art und Weise, wie der Wert für den Nutzer gerendert wird. So wird sichergestellt, dass sich die Reihenfolge der Datumsangaben in einer Abfrage nicht ändert.

Im Folgenden finden Sie weitere Beispiele, die Sie verwenden können. Eine umfassende Liste der verfügbaren Formate finden Sie unten auf dieser Seite.

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

Beispiel

Im folgenden Beispiel für eine Explore-Abfrage sind Datum der Artikelbestellung und Wochen mit Artikelbestellungen unterschiedlich formatiert und unter dem Gruppenlabel Erstellungsdatum organisiert, um eine Datumsdimensionengruppe in der Auswahl der Explore-Felder zu simulieren.

Die benutzerdefinierte Formatierung zeigt Nutzern an, welches Datum und welche Wochennummer des Jahres den größten Werten für die Artikelanzahl in absteigender Reihenfolge entsprechen.

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

In einer explorativen Trichteranalyse werden Ergebnisse mit benutzerdefinierter Datumsformatierung für „Datum der Auftragselemente“ und „Woche der Auftragselemente“ angezeigt, sortiert nach „Anzahl der Artikel der Auftragselemente“ in absteigender Reihenfolge.

LookML

Im Beispiel für das Explore wird die folgende LookML 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.

specifier Ersetzt durch Beispiel
%a Abgekürzter Wochentagname * Do.
%A Vollständiger Wochentagname * Donnerstag
%b Abgekürzter Monatsname * Aug.
%B Vollständiger Monatsname * August
%c Datums- und Uhrzeitdarstellung * Thu Aug 23 14:55:02 2001
%C Jahr geteilt durch 100 und auf eine Ganzzahl (00–99) gekürzt 20
%d Tag des Monats, mit führenden Nullen (01–31) 23
%D Kurzes Datum im Format MM/TT/JJ, entspricht %m/%d/%y 23.08.01
%e Tag des Monats, mit Leerzeichen ( 1–31) 23
%F Kurzes Datum im Format JJJJ-MM-TT, entspricht %Y-%m-%d 2001-08-23
%g Wochenbasiertes Jahr, letzte zwei Ziffern (00–99) 1
%G Wochenbasiertes Jahr 2001
%h Abgekürzter Monatsname * (entspricht %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 Stunde im 24-Stunden-Format, vor einzelnen Ziffern steht ein Leerzeichen (0–23) 14
%l Stunde im 12-Stunden-Format, vor einzelnen Ziffern steht ein Leerzeichen (0–12) 2
%m Der Monat als Dezimalzahl (01–12) 8
%M Minute (00–59) 55
%n Zeilenumbruchzeichen ("\n")
%P „am“ oder „pm“ in Kleinbuchstaben nachmittags
%r 12-Stunden-Format * 14:55:02 Uhr
%R 24-Stunden-Format 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 Horizontales Tabulatorzeichen ("\t")
%T Zeitformat ISO 8601 (HH:MM:SS), entspricht %H:%M:%S 14:55:02
%u ISO 8601-Wochentag als Zahl, wobei Montag 1 ist (1–7) 4
%U Wochennummer mit dem ersten Sonntag als ersten Tag der Woche (00–53) 33
%V ISO 8601-Wochennummer (01–53) 34
%w Wochentag als Dezimalzahl, wobei Sonntag als 0 gilt (0–6) 4
%W Wochennummer, wobei der erste Montag als erster Tag der Woche 1 gilt (00–53) 34
%x Datumsdarstellung * 23.08.01
%X Zeitdarstellung * 14:55:02
%y Jahr, die letzten zwei Ziffern (00–99) 1
%Y Jahr 2001
%z ISO 8601-Offset von UTC in der Zeitzone (1 Minute=1, 1 Stunde=100). Wenn die Zeitzone nicht ermittelt werden kann, werden keine Zeichen angezeigt. 100
%Z Name oder Abkürzung der Zeitzone *Wenn die Zeitzone nicht ermittelt werden kann, keine Zeichen CDT
%% Ein Prozentzeichen % %