En algunas situaciones, es posible que desees 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 formato numérico completo deben 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 sin formato.
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 la semana o el 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 de la sintaxis de cadena "%b %d, %y"
es el mismo que strftime
.
Debido a que el parámetro html
usa el formato Liquid, no se cambia el valor original del período, sino 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 extensa de los formatos disponibles se encuentra en la parte inferior de esta página.
Ajuste predeterminado | Ejemplo |
%m/%d/%Y
|
06/05/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 Explorar, se muestran Fecha de los artículos del pedido y Semana de los artículos del pedido con formatos diferentes y organizados en una etiqueta de grupo Fecha de creación para simular un grupo de dimensiones de fecha en el selector de campos de Explorar.
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 elementos 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 es posible que no todos los formatos se rendericen 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 * | Thu Aug 23 14:55:02 2001 |
%C | Año dividido por 100 y truncado a número entero (00-99) | 20 |
%d | Día del mes, con padding de ceros (01-31) | 23 |
%D | Fecha corta (DD/MM/AA), equivalente a %d/%m/%y | 23/8/01 |
%e | Día del mes, con espacio ( de 1 a 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 semanas | 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 horas (01-12) | 02 |
%j | Día del año (001-366) | 235 |
%k | Hora en formato de 24 horas, los dígitos individuales están precedidos por un espacio en blanco (0-23) | 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 de a.m. o p.m. en minúsculas | p.m. |
%r | Hora 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 la semana ISO 8601 como número con el lunes como 1 (1-7) | 4 |
%U | Es el número de semana con el primer domingo como primer día de la semana uno (00-53). | 33 |
%V | Número de semana ISO 8601 (01-53) | 34 |
%w | Día de la semana como número decimal con 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/8/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 ISO 8601 de UTC en la zona horaria (1 minuto=1, 1 hora=100). Si no se puede determinar la zona horaria, no se deben incluir caracteres. | 100 |
%Z | Nombre o abreviatura de la zona horaria. *Si no se puede determinar la zona horaria, no se deben ingresar caracteres. | CDT |
%% | Un signo de porcentaje (%) | % |