In einigen Situationen kann es erforderlich sein, die Art und Weise zu ändern, wie Looker Datumsangaben formatiert.
Wenn Sie beispielsweise Explores und Dashboards für Benutzer in Europa erstellen, sollten alle Datumsangaben, die nur numerisch sind, 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
gerendert. 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 flüssige Formatierung im Parameter html
einer Dimension verwenden, um das Format aller Felder mit einem gültigen Datumsformat zu ändern. Da Liquid ein gültiges Datum erwartet, empfiehlt es sich, die Zeiträume aus einer vorhandenen Dimensionsgruppe zu 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 er als Aug 23 22
anstelle der Looker-Standardeinstellung 2022-08-23
gerendert wird:
dimension: date_formatted { sql: ${created_date} ;; html:{{ rendered_value | date: "%b %d, %y" }};; }
Das Format für die Stringsyntax "%b %d, %y"
ist mit strftime
identisch.
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. Dadurch wird sichergestellt, dass sich die Reihenfolge, in der Datumsangaben in einer Abfrage angezeigt werden, nicht ändert.
Nachfolgend finden Sie einige weitere Beispiele, die Sie verwenden können. Eine ausführlichere Referenz zu den verfügbaren Formaten finden Sie 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 explorative Datenanalyse sind Datum der Artikelbestellung und Wochen mit Bestellungen unterschiedlich formatiert und unter dem Gruppenlabel Erstellungsdatum organisiert, um eine Datumsdimension in der Auswahl der explorativen Datenanalysefelder zu simulieren.
Anhand der benutzerdefinierten Formatierung sehen Nutzer, welches Datum und welche Wochennummer des Jahres den größten Werten unter Anzahl der Artikel in absteigender Reihenfolge entsprechen.
Weitere Informationen zur Verwendung des group_label
-Parameters finden Sie auf der Dokumentationsseite zu group_label
.
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.
specifier | Ersetzt durch | Beispiel |
%a | Abgekürzter Wochentagname * | Do. |
%A | Vollständiger Name des Wochentags * | Donnerstag |
%b | Abgekürzter Monatsname * | Aug. |
%B | Vollständiger Monatsname * | August |
%c | Darstellung von Datum und Uhrzeit * | Do., 23. Aug., 14:55:02 2001 |
%C | Jahr geteilt durch 100 und auf eine Ganzzahl (00–99) gekürzt | 20 |
%d | Tag des Monats, ohne Auffüllung (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 | Wochenjahr, letzte zwei Ziffern (00–99) | 1 |
%G | Jahr in der Woche | 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 | 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 | Zeilenvorschubzeichen ('\n') | |
%P | „am“ oder „pm“ in Kleinbuchstaben | p.m. |
%r | 12-Stunden-Format * | 14:55:02 Uhr |
%R | 24 Stunden HH:MM-Zeit, 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 | ISO 8601-Zeitformat (HH:MM:SS), entspricht %H:%M:%S | 14:55:02 |
%u | ISO 8601-Wochentag als Zahl, wobei Montag als 1 gilt (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 | Nummer der Woche mit dem ersten Montag als erster Tag der ersten Woche (00-53) | 34 |
%x | Datumsdarstellung * | 23.08.01 |
%X | Zeitdarstellung * | 14:55:02 |
%y | Jahr, letzte zwei Ziffern (00–99) | 1 |
%Y | Jahr | 2001 |
%z | ISO 8601-Abweichung von der UTC in der Zeitzone (1 Minute=1, 1 Stunde=100). Wenn keine Zeitzone ermittelt werden kann, sind keine Zeichen vorhanden. | 100 |
%Z | Name oder Abkürzung der Zeitzone* Wenn die Zeitzone nicht ermittelt werden kann, keine Zeichen | CDT |
%% | Ein Prozentzeichen % | % |