In einigen Fällen kann es sinnvoll sein, die Art und Weise zu ändern, wie Looker Datumsangaben formatiert.
Wenn Sie beispielsweise Explores und Dashboards für Nutzer in Europa erstellen, sollten alle Datumsangaben, die in einem rein numerischen Format vorliegen, 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 vielleicht möchten Sie nicht alles in einfachem SQL schreiben.
Liquid im Parameter html verwenden
Sie können die Liquid-Formatierung im Parameter html einer Dimension verwenden, um das Format eines beliebigen Felds zu ändern, das ein gültiges Datumsformat verwendet. Da Liquid ein gültiges Datum erwartet, sollten Sie die Zeiträume aus einer vorhandenen Dimensionsgruppe verwenden. Sie können die Zahlen für Woche oder Monat nicht ändern, da sie als Ganzzahlen zurückgegeben werden.
Sie können beispielsweise ${created_date} so formatieren, dass es als Aug 23 22 anstelle des Looker-Standardwerts 2022-08-23 gerendert wird:
dimension: date_formatted {
sql: ${created_date} ;;
html:{{ rendered_value | date: "%b %d, %y" }};;
}
Das Format für die String-Syntax "%b %d, %y" ist dasselbe wie für strftime.
Da für den Parameter html die Liquid-Formatierung verwendet wird, ändert sich der ursprüngliche Wert des Zeitrahmens nicht. Nur die Art und Weise, wie der Wert für den Nutzer gerendert wird, ändert sich. So 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 umfassendere Referenz 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 werden Order Items Date und Orders Items Week unterschiedlich formatiert und unter dem Gruppenlabel Created date organisiert, um eine Datumsdimensionsgruppe in der Explore-Feldauswahl zu simulieren.
Durch die benutzerdefinierte Formatierung wird Nutzern angezeigt, welches Datum und welche Wochennummer des Jahres den größten Werten für 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 Beispiel-Explore 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 Wochentagname * | Donnerstag |
| %b | Abgekürzter Monatsname * | Aug. |
| %B | Vollständiger Monatsname * | August |
| %c | Darstellung von Datum und Uhrzeit * | Do., 23. Aug. 2001, 14:55:02 |
| %C | Das Jahr geteilt durch 100 und auf eine Ganzzahl gekürzt (00–99) | 20 |
| %d | Tag des Monats, mit Nullen aufgefüllt (01–31) | 23 |
| %D | Kurzes Datum im Format MM/TT/JJ, entspricht %m/%d/%y | 23.08.2001 |
| %e | Tag des Monats, mit Leerzeichen aufgefüllt ( 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, einzelnen Ziffern ist ein Leerzeichen vorangestellt (0–23) | 14 |
| %l | Stunde im 12-Stunden-Format, einzelnen Ziffern ist ein Leerzeichen vorangestellt (0–12) | 2 |
| %m | Monat als Dezimalzahl (01–12) | 8 |
| %M | Minute (00–59) | 55 |
| %n | Zeilenumbruchzeichen („\n“) | |
| %P | am- oder pm-Angabe in Kleinbuchstaben | nachmittags |
| %r | Uhrzeit im 12‑Stunden-Format * | 14:55:02 Uhr |
| %R | 24-Stunden-Zeit im Format HH:MM, entsprechend %H:%M | 14:55 |
| %s | Anzahl der Sekunden seit der Epoche, 1970-01-01 00:00:00 +0000 (UTC) | 1566236649 |
| %S | Sekunde (00–61) | 2 |
| %t | Tabulatorzeichen ('\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 erstem Tag der ersten Woche (00–53) | 34 |
| %x | Datumsdarstellung * | 23.08.2001 |
| %X | Zeitdarstellung * | 14:55:02 |
| %y | Jahr, nur die letzten beiden 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 ausgegeben. | 100 |
| %Z | Zeitzonenname oder ‑abkürzung *Wenn die Zeitzone nicht ermittelt werden kann, keine Zeichen | CDT |
| %% | Ein Prozentzeichen % | % |