Como usar o "Líquido" para formatar datas

Em algumas situações, talvez seja necessário mudar a forma como o Looker formata as datas.

Por exemplo, se você estiver criando Análises e painéis para usuários na Europa, todas as datas que estejam em um formato totalmente numérico aparecerão no pedido Dia-Mês-Ano. Por exemplo, 7 de junho de 2019 precisa ser formatado como 07/06/2019 ou Jun 07, 2019. O formato padrão do Looker renderiza a data como 2019-06-07. É possível usar funções SQL como DATE_FORMAT() para alterar um formato de data, mas talvez você não queira escrever tudo em SQL simples.

Como usar "Liquid" no parâmetro html

Você pode usar a formatação líquida no parâmetro html de uma dimensão para mudar o formato de qualquer campo que use um formato de data válido. Como o Liquid espera uma data válida, é melhor usar os períodos de um grupo de dimensões atual. Não é possível mudar os números de semana ou mês, porque eles são retornados como números inteiros.

Por exemplo, é possível formatar ${created_date} para renderizar como Aug 23 22 em vez do 2022-08-23 padrão do Looker:


  dimension: date_formatted {
    sql: ${created_date} ;;
    html:{{ rendered_value | date: "%b %d, %y" }};;
  }


O formato da sintaxe de string "%b %d, %y" é o mesmo que strftime.

Como o parâmetro html usa formatação líquida, o valor original do período não vai mudar, apenas a maneira como o valor é renderizado para o usuário. Isso garante que a ordem em que as datas aparecem na consulta não será alterada.

Veja a seguir alguns outros exemplos que podem ser usados. Confira a referência maior dos formatos disponíveis na parte inferior desta página.

Predefinição Exemplo
%m/%d/%Y 05/06/2013
%A, %B %e, %Y Quarta-feira, 5 de junho de 2013
%b %e %a Qua., 5 de jun.

Exemplo

O exemplo a seguir de uma consulta do Explore mostra Data dos itens do pedido e Semana dos itens dos pedidos com formatação diferente e organizadas no rótulo do grupo Data de criação para simular um grupo de dimensões de data no seletor de campo "Explorar".

A formatação personalizada mostra aos usuários a data e o número da semana do ano que corresponde aos maiores valores de Contagem de itens em ordem decrescente.

Consulte a página de documentação group_label para saber mais sobre como usar o parâmetro group_label.

Uma consulta "Explorar" exibe os resultados de formatação de data personalizada para "Data dos itens do pedido", "Semana dos itens do pedido", classificados por "Contagem de itens do pedido" em ordem decrescente.

LookML

O exemplo do Explore usa o seguinte 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

A tabela a seguir lista vários formatos de strftime. Nem todos os formatos são renderizados no Looker como esperado.

especificador Substituído por Exemplo
%a Nome abreviado do dia da semana * Qui
%A Nome completo do dia da semana * quinta-feira
%b Nome abreviado do mês * Ago
%B Nome completo do mês * agosto
%c Representação de data e hora * Quinta-feira, 23 de agosto, 14:55:02 2001
%C Ano dividido por 100 e truncado para inteiro (00-99) 20
%d Dia do mês, sem preenchimento (01 a 31) 23
%D Data curta de DD/MM/AA, equivalente a %m/%d/%y 08/23/01
%e Dia do mês com espaço preenchido ( 1-31) 23
%F Data curta em AAAA-MM-DD, equivalente a %Y-%m-%d 2001-08-23
%g Ano baseado em semana, últimos dois dígitos (00-99) 1
%G Ano por semana 2001
%h Nome abreviado do mês * (igual a %b) Ago
%H Hora no formato 24h (00-23) 14
%I Hora no formato 12h (01-12) 02
%j Dia do ano (001-366) 235
%k Hora no formato de 24h, dígitos únicos seguidos por um espaço em branco (0-23) 14
%l Hora no formato de 12h, dígitos únicos seguidos por um espaço em branco (0-12) 2
%m Mês como número decimal (01-12) 8
%M Minuto (00 a 59) 55
%n Caractere de nova linha ("\n")
%P Designação "am" ou "pm" em letras minúsculas pm
%r Formato de 12 horas * 14:55:02
%R Horário HH:MM de 24 horas, equivalente a %H:%M 14:55
%s Número de segundos desde a época, 1970-01-01 00:00:00 +0000 (UTC) 1566236649
%S Segundo (00-61) 2
%t Caractere de tabulação horizontal ("\t")
%T Formato de hora ISO 8601 (HH:MM:SS), equivalente a %H:%M:%S 14:55:02
%u Dia da semana ISO 8601 como número com segunda-feira como 1 (1-7) 4
%U Número da semana, com o primeiro domingo como o primeiro dia da semana um (00-53) 33
%V Número de semana ISO 8601 (01 a 53) 34
%w Dia da semana como número decimal, com domingo como 0 (0-6) 4
%W Número da semana, com a primeira segunda-feira como o primeiro dia da semana um (00-53) 34
%x Representação de data * 08/23/01
%X Representação de hora * 14:55:02
%y Ano, últimos dois dígitos (00-99) 1
%Y Ano 2001
%z Deslocamento de ISO 8601 do UTC no fuso horário (1 minuto=1, 1 hora=100)Se o fuso horário não puder ser determinado, não haverá caracteres 100
%Z Nome ou abreviação do fuso horário *Se o fuso horário não puder ser determinado, não haverá caracteres CDT
%% Sinal de % %