En algunas situaciones, es posible que quieras cambiar la forma en que Looker formatea las fechas.
Por ejemplo, si creas exploraciones y paneles para usuarios de Europa, las fechas que estén en un formato solo numérico deberían aparecer en el orden Día-Mes-Año. Por ejemplo, el 7 de junio de 2019 debe tener el formato 07/06/2019
o Jun 07, 2019
. El formato predeterminado de Looker renderiza la fecha como 2019-06-07
. Si bien puedes usar funciones de SQL como DATE_FORMAT()
para cambiar un formato de fecha, es posible que no quieras escribir todo en SQL simple.
Usa Liquid en el parámetro html
Puedes usar el formato líquido en el parámetro html
de una dimensión para cambiar el formato de cualquier campo que use un formato de fecha válido. Dado que Liquid espera una fecha válida, es mejor usar los períodos de un grupo de dimensiones existente. No puedes cambiar los números de semana o mes, ya que se muestran como números enteros.
Por ejemplo, puedes dar formato a ${created_date}
para que se renderice como Aug 23 22
en lugar del 2022-08-23
predeterminado de Looker:
dimension: date_formatted { sql: ${created_date} ;; html:{{ rendered_value | date: "%b %d, %y" }};; }
El formato para la sintaxis de cadena "%b %d, %y"
es el mismo que strftime
.
Como el parámetro html
usa formato líquido, el valor original del período no se cambia, solo la forma en que se renderiza el valor para el usuario. Esto garantiza que no cambie el orden en que aparecen las fechas en una consulta.
Estos son algunos otros ejemplos que puedes usar. La referencia más completa de los formatos disponibles se encuentra en la parte inferior de esta página.
Ajuste predeterminado | Ejemplo |
%m/%d/%Y
|
05/06/2013 |
%A, %B %e, %Y
|
Miércoles, 5 de junio de 2013 |
%b %e %a
|
Mié 5 de jun. |
Ejemplo
En el siguiente ejemplo de una consulta de exploración, se muestran las opciones Order Items Date y Orders Items Week con un formato diferente y organizadas en una etiqueta de grupo Created date para simular un grupo de dimensiones de fecha en el selector de campos Explore.
El formato personalizado muestra a los usuarios qué fecha y qué número de semana del año corresponden a los valores más altos de Cantidad de artículos en orden descendente.
Consulta la página de documentación de group_label
para obtener más información sobre el uso del parámetro group_label
.
El código LookML
En el ejemplo de Explorar, se usa el siguiente código 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
En la siguiente tabla, se enumeran varios formatos de strftime
. Ten en cuenta que no todos los formatos se pueden renderizar como se espera en Looker.
especificador | Se reemplazó por | Ejemplo |
%a | Nombre abreviado del día de la semana * | Jue |
%A | Nombre completo del día de la semana * | Jueves |
%b | Nombre del mes abreviado * | Ago |
%B | Nombre completo del mes * | Agosto |
%c | Representación de la fecha y la hora * | Jue 23 Ago 14:55:02 2001 |
%C | El año dividido por 100 y se trunca a un número entero (00-99) | 20 |
%d | Día del mes, con relleno cero (01-31) | 23 |
%D | Fecha corta del DD/MM/AA, equivalente a %m/%d/%y | 23/8/01 |
%e | Día del mes con espacios ( 1-31) | 23 |
%F | Fecha corta AAAA-MM-DD, equivalente a %Y-%m-%d | 2001-08-23 |
%g | Año basado en semanas, últimos dos dígitos (00-99) | 1 |
%G | Año basado en la semana | 2001 |
%h | Nombre del mes abreviado * (igual que %b) | Ago |
%H | Hora en formato de 24 horas (00-23) | 14 |
%I | Hora en formato de 12 h (01-12) | 02 |
%j | Día del año (001-366) | 235 |
%k | Hora en formato de 24 h, con un espacio en blanco (0-23) para los dígitos individuales | 14 |
%l | Hora en formato de 12 horas, los dígitos individuales están precedidos por un espacio en blanco (0-12) | 2 |
%m | El mes como número decimal (01-12) | 8 |
%M | Minuto (de 00 a 59) | 55 |
%n | Carácter de salto de línea ("n") | |
%P | designación a.m. o p.m. en minúsculas | p.m. |
%r | Hora en formato de 12 horas * | 2:55:02 p.m. |
%R | Hora de 24 horas HH:MM, equivalente a %H:%M | 14:55 |
%s | Cantidad de segundos desde la época, 1970-01-01 00:00:00 +0000 (UTC) | 1566236649 |
%S | Segundo (00-61) | 2 |
%t | Carácter de tabulación horizontal ('\t') | |
%T | Formato de hora ISO 8601 (HH:MM:SS), equivalente a %H:%M:%S | 14:55:02 |
%u | Día de semana ISO 8601 como un número con el lunes como 1 (1-7) | 4 |
%U | Número de semana con el primer domingo como primer día de la primera semana (00-53) | 33 |
%V | Número de semana ISO 8601 (01-53) | 34 |
%w | El día de la semana como número decimal con el domingo como 0 (0-6) | 4 |
%W | Es el número de semana con el primer lunes como primer día de la semana uno (00-53). | 34 |
%x | Representación de la fecha * | 23/08/01 |
%X | Representación de la hora * | 14:55:02 |
%y | Año, últimos dos dígitos (00-99) | 1 |
%Y | Año | 2001 |
%z | Desfase de ISO 8601 de UTC en la zona horaria (1 minuto=1, 1 hora=100) Si no se puede determinar la zona horaria, no hay caracteres | 100 |
%Z | Nombre o abreviatura de la zona horaria *Si no se puede determinar la zona horaria, no se deben incluir caracteres | CDT |
%% | Un signo % | % |