In alcuni casi, potresti voler modificare il modo in cui Looker formatta le date.
Ad esempio, se stai creando esplorazioni e dashboard per gli utenti in Europa, tutte le date in formato numerico devono essere visualizzate nell'ordine Giorno-Mese-Anno. Ad esempio, il 7 giugno 2019 deve essere formattato come 07/06/2019
o Jun 07, 2019
. Il formato predefinito di Looker mostra la data come 2019-06-07
. Sebbene tu possa utilizzare funzioni SQL come DATE_FORMAT()
per modificare il formato di una data, potresti non voler scrivere tutto in SQL semplice.
Utilizzo di Liquid nel parametro html
Puoi utilizzare la formattazione liquida nel parametro html
di una dimensione per modificare il formato di qualsiasi campo che utilizza un formato di data valido. Poiché Liquid si aspetta una data valida, è meglio utilizzare gli intervalli di tempo di un gruppo di dimensioni esistente. Non puoi modificare i numeri della settimana o del mese, perché vengono restituiti come numeri interi.
Ad esempio, puoi formattare ${created_date}
in modo che venga visualizzato come Aug 23 22
anziché il valore predefinito di Looker 2022-08-23
:
dimension: date_formatted { sql: ${created_date} ;; html:{{ rendered_value | date: "%b %d, %y" }};; }
Il formato della sintassi della stringa "%b %d, %y"
è lo stesso di strftime
.
Poiché il parametro html
utilizza la formattazione Liquid, il valore originale dell'intervallo di tempo non viene modificato, ma solo il modo in cui viene visualizzato all'utente. In questo modo, l'ordine in cui le date vengono visualizzate in una query non cambierà.
Di seguito sono riportati altri esempi che puoi utilizzare. Il riferimento più grande dei formati disponibili si trova in fondo a questa pagina.
Preimpostazione | Esempio |
%m/%d/%Y
|
06/05/2013 |
%A, %B %e, %Y
|
Mercoledì 5 giugno 2013 |
%b %e %a
|
5 giu Mer |
Esempio
Il seguente esempio di query di esplorazione mostra Data ordine articoli e Settimana ordine articoli formattati in modo diverso e organizzati in un'etichetta di gruppo Data creazione per simulare un gruppo di dimensioni di date nel selettore di campi dell'esplorazione.
La formattazione personalizzata mostra agli utenti la data e il numero di settimana dell'anno corrispondenti ai valori più elevati di Conteggio elementi in ordine decrescente.
Per saperne di più sull'utilizzo del parametro group_label
, consulta la pagina della documentazione di group_label
.
Il codice LookML
L'esempio di esplorazione utilizza il seguente codice LookML:
# 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
La tabella seguente elenca i vari formati strftime
. Tieni presente che non tutti i formati potrebbero essere visualizzati come previsto in Looker.
specifier | Sostituito da | Esempio |
%a | Nome abbreviato del giorno della settimana * | Gio |
%A | Nome completo del giorno della settimana * | Giovedì |
%b | Nome del mese abbreviato * | ago |
%B | Nome completo del mese * | Agosto |
%c | Rappresentazione di data e ora * | Gio 23 ago 14:55:02 2001 |
%C | Anno diviso per 100 e troncato a numero intero (00-99) | 20 |
%d | Giorno del mese con zeri iniziali (01-31) | 23 |
%D | Data breve MM/GG/AA, equivalente a %m/%d/%y | 23/08/01 |
%e | Giorno del mese con spaziatura ( 1-31) | 23 |
%F | Data breve AAAA-MM-GG, equivalente a %Y-%m-%d | 2001-08-23 |
%g | Anno basato sulla settimana, ultime due cifre (00-99) | 1 |
%G | Anno basato sulle settimane | 2001 |
%h | Nome del mese abbreviato * (come %b) | ago |
%H | Ora nel formato 24 ore (00-23) | 14 |
%I | Ora nel formato 12 ore (01-12) | 02 |
%j | Giorno dell'anno (001-366) | 235 |
%k | Ora nel formato 24 ore, le cifre singole sono precedute da uno spazio vuoto (0-23) | 14 |
%l | Ora nel formato 12 ore, le cifre singole sono precedute da uno spazio vuoto (0-12) | 2 |
%m | Mese come numero decimale (01-12) | 8 |
%M | Minuto (00-59) | 55 |
%n | Carattere di nuova riga ("\n") | |
%P | Designazione AM o PM in minuscolo | pm |
%r | Ora in formato 12 ore * | 14:55:02 |
%R | Ora HH:MM a 24 ore, equivalente a %H:%M | 14:55 |
%s | Numero di secondi dall'epoca, 01-01-1970 00:00:00 +0000 (UTC) | 1566236649 |
%S | Secondo (00-61) | 2 |
%t | Carattere tabulazione orizzontale ("\t") | |
%T | Formato dell'ora ISO 8601 (HH:MM:SS), equivalente a %H:%M:%S | 14:55:02 |
%u | Giorno della settimana ISO 8601 come numero con lunedì come 1 (1-7) | 4 |
%U | Numero di settimana con la prima domenica come primo giorno della prima settimana (00-53) | 33 |
%V | Numero di settimana ISO 8601 (01-53) | 34 |
%w | Giorno della settimana come numero decimale con domenica pari a 0 (0-6) | 4 |
%W | Numero di settimana con il primo lunedì come primo giorno della prima settimana (00-53) | 34 |
%x | Rappresentazione della data * | 23/08/01 |
%X | Rappresentazione del tempo * | 14:55:02 |
%y | Anno, ultime due cifre (00-99) | 1 |
%Y | Anno | 2001 |
%z | Differenza ISO 8601 dal fuso orario UTC (1 minuto=1, 1 ora=100) Se non è possibile determinare il fuso orario, non sono presenti caratteri | 100 |
%Z | Nome o abbreviazione del fuso orario *Se non è possibile determinare il fuso orario, non inserire alcun carattere | CDT |
%% | Un segno di percentuale | % |