Come utilizzare Liquid per formattare le date

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 sia possibile utilizzare funzioni SQL come DATE_FORMAT() per modificare il formato 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 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é 2022-08-23 predefinito di Looker:


  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 liquida, il valore originale del periodo di tempo non viene modificato, ma viene modificato solo il modo in cui il valore viene mostrato 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ù ampio ai formati disponibili è riportato in fondo a questa pagina.

Preimpostazione Esempio
%m/%d/%Y 5/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 ordine e Settimana elementi ordini formattati in modo diverso e organizzati sotto l'etichetta di gruppo Data di creazione per simulare un gruppo di dimensioni di data nel selettore dei campi Esplora.

La formattazione personalizzata mostra agli utenti le date e le settimane dell'anno che corrispondono ai maggiori valori del Conteggio di elementi in ordine decrescente.

Per saperne di più sull'utilizzo del parametro group_label, consulta la pagina della documentazione di group_label.

Una query Esplora visualizza i risultati di formattazione della data personalizzati per Data articoli ordine, Settimana articoli ordine, ordinati in base agli articoli dell'ordine Conteggio degli articoli (ordine decrescente).

LookML

L'esempio di esplorazione 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 i vari formati di strftime. Tieni presente che non tutti i formati potrebbero essere visualizzati come previsto in Looker.

specifier Sostituito da Esempio
%a Nome del giorno della settimana abbreviato * Gio
%A Nome completo del giorno della settimana * Giovedì
%b Nome del mese abbreviato * ago
%B Nome completo del mese * Agosto
%c Rappresentazione 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 riempimenti (01-31) 23
%D Data breve GG/MM/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 in base alla settimana, ultime due cifre (00-99) 1
%G Anno in base alla settimana 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, con una sola cifra seguita da uno spazio (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 dicitura am o pm in minuscolo pm
%r Ora in 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 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 della 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 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 * 23/08/01
%X Rappresentazione dell'ora * 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 caratteri CDT
%% Un segno di percentuale %