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
.
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 % | % |