Come utilizzare Liquid per formattare le date

In alcuni casi potrebbe essere necessario modificare il modo in cui Looker formatta le date.

Ad esempio, se crei esplorazioni e dashboard per gli utenti in Europa, le date in formato interamente numerico dovrebbero essere visualizzate nell'ordine Giorno-Mese-Anno. Ad esempio, il 7 giugno 2019 deve essere nel formato 07/06/2019 o Jun 07, 2019. Il formato predefinito di Looker mostra la data come 2019-06-07. Sebbene sia possibile utilizzare funzioni SQL come DATE_FORMAT() per modificare un formato di data, potresti non voler scrivere tutto in SQL semplice.

Utilizzo del liquido nel parametro html

Puoi utilizzare Formattazione liquida nel parametro html di una dimensione per modificare il formato di qualsiasi campo che utilizza un formato data valido. Poiché Liquid prevede una data valida, ti consigliamo di utilizzare i periodi 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é come 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 del periodo di tempo non viene modificato, ma solo il modo in cui il valore viene visualizzato dall'utente. Ciò garantisce che l'ordine in cui le date appaiono in una query non cambi.

Di seguito sono riportati alcuni altri esempi che puoi utilizzare. Il riferimento più ampio dei formati disponibili si trova in fondo a questa pagina.

Preimpostazione Esempio
%m/%d/%Y 05/06/2013
%A, %B %e, %Y Mercoledì 5 giugno 2013
%b %e %a 5 giu Mer

Esempio

Il seguente esempio di query Esplora mostra Data elementi dell'ordine e Settimana elementi ordini formattati in modo diverso e organizzati sotto l'etichetta di un gruppo Data di creazione per simulare un gruppo di dimensioni di data nel selettore del campo Esplora.

La formattazione personalizzata mostra agli utenti la data e il numero di settimana dell'anno corrispondenti ai valori più alti del Conteggio di elementi in ordine decrescente.

Consulta la pagina della documentazione di group_label per scoprire di più sull'utilizzo del parametro group_label.

Una query Esplora mostra i risultati di formattazione personalizzata della data per gli elementi dell'ordine Data, Settimana elementi dell'ordine, ordinati in base al numero di elementi dell'ordine in ordine decrescente.

LookML

L'esempio Esplora utilizza il seguente 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

Nella tabella seguente sono elencati vari formati strftime. Tieni presente che non tutti i formati possono essere visualizzati come previsto in Looker.

specificato Sostituito da Esempio
%a Nome abbreviato del giorno della settimana * Gio
%di Nome completo del giorno della settimana * giovedì
%b Nome del mese abbreviato * ago
%B Nome del mese completo * 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, senza imbottitura (01-31) 23
%D Data breve MM/GG/AA, equivalente a %m/%d/%y 08/23/01
%e Giorno del mese, spaziali ( 1-31) 23
%F Data breve AAAA-MM-GG, equivalente a %Y-%m-%d 2001-08-23
%g Anno in base alla settimana, ultime due cifre (00-99) 1
%G Anno su base settimanale 2001
%h Nome del mese abbreviato * (uguale a %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 singole cifre sono precedute da uno spazio (0-23) 14
%l Ora nel formato 12 ore, le singole cifre sono precedute da uno spazio (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 Formato 12 ore * 14:55:02
%R Ora HH:MM di 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 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 della settimana con la prima domenica come primo giorno della prima settimana (00-53) 33
%V Numero settimana ISO 8601 (01-53) 34
%w Giorno della settimana come numero decimale con domenica come 0 (0-6) 4
%W Numero della settimana con il primo lunedì come primo giorno della prima settimana (00-53) 34
%x Rappresentazione della data * 08/23/01
%X Rappresentazione temporale * 14:55:02
%a Anno, ultime due cifre (00-99) 1
%Y Anno 2001
%z Differenza ISO 8601 dall'UTC nel fuso orario (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, nessun carattere CDT
%% Un segno % %