dimension_group

Uso

view: view_name {
  dimension_group:  field_name { ... }
}
Jerarquía
dimension_group
Acepta
Un identificador de Looker (para que sirva como la primera parte del nombre de cada dimensión creada por el grupo de dimensiones)

Reglas especiales
  • type puede ser time o duration.
  • Se suele usar con un parámetro timeframes o intervals.
  • Usa un parámetro datatype si el grupo de dimensiones no se basa en un campo de fecha y hora.
  • Para los grupos de dimensiones de type: time, usa un parámetro convert_tz si deseas evitar la conversión automática de la zona horaria.

Definición

El parámetro dimension_group se usa para crear un conjunto de dimensiones basadas en el tiempo o la duración de una sola vez. Tú defines el grupo de dimensiones, y este creará un conjunto de dimensiones individuales para diferentes intervalos o períodos. Por ejemplo, puedes especificar un grupo de dimensiones de type: time basado en una columna de marca de tiempo, y el grupo de dimensiones creará dimensiones correspondientes para expresar los datos en hora, fecha, semana, hora, trimestre y año.

La forma y la función del grupo de dimensiones son diferentes según el valor de type del grupo de dimensiones:

Grupos de dimensiones de tipo de duración

type: duration se usa junto con un dimension_group para calcular un conjunto de dimensiones de duración basadas en intervalos.

La forma de un grupo de dimensiones de type: duration es la siguiente:

dimension_group: dimension_group_name {
  type: duration
  sql_start: SQL expression ;;  # often this is a single database column
  sql_end: SQL expression ;;  # often this is a single database column
  intervals: [interval, interval, …] # see following explanation for valid intervals
}

Para los grupos de dimensiones de type: duration, se aplica lo siguiente:

  • Los parámetros sql_start y sql_end proporcionan expresiones SQL que definen la hora de inicio y la hora de finalización de la duración. Consulta la sección Cómo definir el inicio y el final de una duración en esta página para obtener más detalles.

  • El parámetro intervals especifica una o más unidades de intervalo que se deben usar para medir la diferencia de tiempo. Las opciones posibles se enumeran en la sección Opciones de intervalo de esta página.

  • Los valores de duración se redondean hacia abajo al número entero más cercano.

  • El parámetro datatype es opcional. Si tu grupo de dimensiones no se basa en una fecha y hora, puedes especificar un formato de época, marca de tiempo, fecha o aaaammdd. Para los grupos de dimensiones de type: duration, el parámetro datatype se aplica a los parámetros sql_start y sql_end, por lo que debes asegurarte de que ambos sean del tipo de datos especificado.sql_startsql_end El parámetro datatype se describe con más detalle en la sección Cómo especificar la base de datos datatype de esta página.

Aunque no se enumeran aquí, muchos de los parámetros a nivel del campo también se pueden usar con grupos de dimensiones.

Por ejemplo, si tienes columnas para enrollment_date y graduation_date, puedes crear un grupo de dimensiones de duración para ver cuánto tiempo pasaron los estudiantes en la escuela, calculado en intervalos de semanas y años:

dimension_group: enrolled {
  type: duration
  intervals: [week, year]
  sql_start: ${TABLE}.enrollment_date ;;
  sql_end: ${TABLE}.graduation_date ;;
}

En la IU de Explorar, esto generaría un grupo de dimensiones llamado Duración de la inscripción, con dimensiones individuales llamadas Semanas de inscripción y Años de inscripción.

Opciones de intervalo

El parámetro intervals le indica al grupo de dimensiones qué unidades de intervalo debe usar para medir la diferencia de tiempo entre la hora sql_start y la hora sql_end. El parámetro intervals solo se admite para los grupos de dimensiones de type: duration.

Si no se incluye intervals, el grupo de dimensiones incluirá todos los intervalos posibles.

Las opciones para el parámetro intervals son las siguientes:

Intervalo Descripción Resultado de ejemplo
day Calcula una diferencia de tiempo en días. 9 days
hour Calcula una diferencia de tiempo en horas. 171 hours
minute Calcula una diferencia de tiempo en minutos. 10305 minutes
month Calcula una diferencia de tiempo en meses. 3 months
quarter Calcula una diferencia de tiempo en trimestres del año. 2 quarters
second Calcula una diferencia de tiempo en segundos. 606770 seconds
week Calcula una diferencia de tiempo en semanas. 6 weeks
year Calcula una diferencia de tiempo en años. 2 years

Cómo definir el inicio y el final de una duración

En el caso de los grupos de dimensiones de type: duration, los parámetros sql_start y sql_end proporcionan la información de inicio y finalización que se usa para calcular una diferencia de tiempo. Estos campos pueden adoptar cualquier expresión de SQL válida que contenga datos en formato de marca de tiempo, fecha y hora, fecha, época o aaaammdd. Los campos sql_start y sql_end pueden ser cualquiera de los siguientes:

  • Es una referencia a un período raw de un grupo de dimensiones existente de type: time.
  • Referencia a una dimensión de type: date_raw
  • Una expresión SQL que es una marca de tiempo, como una referencia a una columna SQL que es una marca de tiempo
  • Una expresión SQL que extrae una hora de tu base de datos, con la expresión adecuada para tu dialecto
  • Referencia de campo de LookML que usa la referencia de tipo de campo ::datetime o ::date

Por ejemplo, supongamos que tienes una dimensión llamada faa_event_date_raw que contiene información de fecha y hora:

dimension: faa_event_date_raw {
  type: date_raw
  sql: ${TABLE}.event_date ;;
}

Puedes crear un grupo de dimensiones de type: duration que calcule la cantidad de tiempo transcurrido desde la fecha del evento de la FAA. Para ello, puedes usar la dimensión faa_event_date_raw como hora de inicio del cálculo y, luego, para la hora de finalización del cálculo, puedes usar la expresión SQL de tu dialecto para la hora actual. Este ejemplo es para una base de datos de MySQL:

dimension_group: since_event {
  type: duration
  intervals: [hour, day]
  sql_start: ${faa_event_date_raw} ;;
  sql_end: CURRENT_TIMESTAMP();;
}

En la IU de Explorar, esto generaría un grupo de dimensiones llamado Duración desde el evento, con dimensiones individuales llamadas Horas desde el evento y Días desde el evento.

Cómo hacer referencia a intervalos desde otro campo de LookML

Para hacer referencia a un valor de interval en un dimension_group de type: duration, usa la sintaxis ${interval_fieldname}, con la versión plural del valor de interval. Por ejemplo, en el siguiente ejemplo de LookML, la medida average_days_since_event usa ${days_since_event} para hacer referencia al intervalo day en el grupo de dimensiones since_event:


dimension_group: since_event {
  type: duration
  intervals: [hour, day, week, month, quarter, year]
  sql_start: ${faa_event_date_raw} ;;
  sql_end: CURRENT_TIMESTAMP();;
}

measure: average_days_since_event {
  type: average
  sql: ${days_since_event} ;;
}

Cómo usar referencias de tipo de campo LookML con campos de duración

Para crear un campo de duración personalizado, puedes especificar un tipo de referencia ::date o ::datetime para las dimensiones a las que se hace referencia en los parámetros sql_start y sql_end de un grupo de dimensiones de type: duration. La sintaxis view_name.field_name::type, que se describe en la página de documentación Incorporación de SQL y referencia a objetos de LookML, te permite crear una versión ::date o ::datetime de un campo sin convertir las referencias a esas dimensiones en cadenas.

Por ejemplo, supongamos que tienes un grupo de dimensiones created de type: time con períodos de time, date, week, month y raw, definidos de la siguiente manera:


dimension_group: created {
  type: time
  timeframes: [time, date, week, month, raw]
  sql: ${TABLE}.created_at ;;
}

Con las dimensiones created_month y created_time, puedes crear un grupo de dimensiones de type: duration que calcule la cantidad de tiempo entre una fecha del campo created_date y el primer día del mes en el que ocurrió esa fecha, medido en semanas, días y horas:


dimension_group: since_first_of_month {
  type: duration
  intervals: [week, day, hour]
  sql_start: ${created_month::datetime} ;;
  sql_end: ${created_time::datetime} ;;
}

En la IU de Explorar, esto crea un grupo de dimensiones llamado Duración desde el primer día del mes, con las dimensiones individuales Semanas desde el primer día del mes, Días desde el primer día del mes y Horas desde el primer día del mes. Especificar el tipo de referencia ::datetime para los campos a los que se hace referencia en los parámetros sql_start y sql_end permite que las dimensiones created_month y created_time se traten como marcas de tiempo en el SQL generado.

Por ejemplo, supongamos que un usuario selecciona las dimensiones Fecha de creación y Días desde el primer día del mes en el selector de campos. Si uno de los valores devueltos para Fecha de creación es 2019-03-10, el valor devuelto para Días desde el primer día del mes será 9 días.

Grupos de dimensiones de tipo de tiempo

type: time se usa junto con un dimension_group y el parámetro timeframes para crear un conjunto de dimensiones basadas en el tiempo. Por ejemplo, podrías crear fácilmente una dimensión de fecha, semana y mes basada en una sola columna de marca de tiempo.

La forma de un grupo de dimensiones de type: time es la siguiente:

dimension_group: dimension_group_name {
  type: time
  timeframes: [timeframe, timeframe, …] # see following explanation for valid timeframes
  sql: SQL expression ;;  # often this is a single database column
  datatype: epoch| timestamp | datetime | date | yyyymmdd # defaults to datetime
  convert_tz: yes | no   # defaults to yes
}

Para los grupos de dimensiones de type: time, se aplica lo siguiente:

  • El parámetro timeframes es opcional, pero rara vez se omite. Especifica uno o más períodos que debe generar el grupo de dimensiones. Si no se incluye timeframes, se agregará cada opción de período al grupo de dimensiones. Las opciones posibles se enumeran en la sección Opciones de período de esta página.

  • El parámetro sql para los grupos de dimensiones type: time puede tomar cualquier expresión de SQL válida que contenga datos en formato de marca de tiempo, fecha y hora, fecha, época o aaaammdd.

  • El parámetro datatype es opcional. Si tu grupo de dimensiones no se basa en una fecha y hora, puedes especificar un formato de época, marca de tiempo, fecha o aaaammdd. Se describe con más detalle en la sección Cómo especificar la base de datos datatype de esta página.

  • El parámetro convert_tz es opcional y te permite evitar la conversión automática de la zona horaria. Se describe con más detalle en la sección Conversiones de zonas horarias y convert_tz de esta página.

Aunque no se enumeran aquí, muchos de los parámetros a nivel del campo también se pueden usar con grupos de dimensiones.

Por ejemplo, supongamos que tienes una columna llamada created_at que contiene información de fecha y hora. Quieres crear una dimensión de fecha, semana y mes basada en esta fecha y hora. Podrías usar lo siguiente:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

En la IU de Explorar, esto generaría tres dimensiones con los nombres Fecha de creación, Semana de creación y Mes de creación. Observa cómo el nombre dimension_group se combina con los períodos para generar los nombres de las dimensiones.

Opciones de período

El parámetro timeframes solo se admite para los grupos de dimensiones de type: time. Para los grupos de dimensiones de type: duration, usa el parámetro intervals en su lugar.

El parámetro timeframes le indica al grupo de dimensiones qué dimensiones debe producir y tiene las siguientes opciones:

Períodos especiales

Plazo Descripción Resultado de ejemplo
raw Es el valor sin procesar de tu base de datos, sin conversión de zona horaria ni conversión de tipos. raw solo se puede acceder dentro de LookML y no aparecerá en la página Explorar. El período raw devuelve una marca de tiempo, a diferencia de la mayoría de los otros períodos que devuelven una cadena con formato. Se usa principalmente para realizar operaciones de fecha en un campo. 2014-09-03 17:15:00 +0000
yesno Es una dimensión de yesno que devuelve "Sí" si la fecha y hora tienen un valor; de lo contrario, devuelve "No". A diferencia de otros períodos, cuando haces referencia a una dimensión de período yesno desde otro campo, no incluyas el período en la referencia. Por ejemplo, para hacer referencia a un período yesno en el dimension_group: created, usa la sintaxis ${created}, no ${created_yesno}. Yes

Períodos

Plazo Descripción Resultado de ejemplo
time Fecha y hora del campo subyacente (algunos dialectos de SQL muestran tanta precisión como contiene tu base de datos, mientras que otros solo muestran la precisión hasta el segundo) 2014-09-03 17:15:00
time_of_day Hora del día 17:15
hour Fecha y hora truncadas a la hora más cercana 2014-09-03 17
hour_of_day Hora del día (número entero) del campo subyacente 17
hourX Divide cada día en intervalos con la cantidad de horas especificada. Consulta Cómo usar hourX.
minute Fecha y hora truncadas al minuto más cercano 2014-09-03 17:15
minuteX Divide cada hora en intervalos con la cantidad especificada de minutos. Consulta Cómo usar minuteX.
second Fecha y hora truncadas al segundo más cercano 2014-09-03 17:15:00
millisecond Fecha y hora truncadas al milisegundo más cercano (consulta la sección Compatibilidad de dialectos con milisegundos y microsegundos en esta página para obtener información sobre la compatibilidad de dialectos). 2014-09-03 17:15:00.000
millisecondX Divide cada segundo en intervalos con la cantidad especificada de milisegundos (consulta la sección Compatibilidad de dialectos con milisegundos y microsegundos en esta página para obtener información sobre la compatibilidad de dialectos). Consulta Cómo usar millisecondX.
microsecond Fecha y hora truncadas al microsegundo más cercano (consulta la sección Compatibilidad de dialectos con milisegundos y microsegundos en esta página para obtener información sobre la compatibilidad de dialectos). 2014-09-03 17:15:00.000000

Períodos

Plazo Descripción Resultado de ejemplo
date Fecha del campo subyacente 2017-09-03

Períodos semanales

Plazo Descripción Resultado de ejemplo
week Fecha de la semana que comienza un lunes de la fecha y hora subyacentes 2017-09-01
day_of_week Solo el día de la semana Wednesday
day_of_week_index Índice del día de la semana (0 = lunes, 6 = domingo) 2

Períodos mensuales

Plazo Descripción Resultado de ejemplo
month Año y mes de la fecha y hora subyacente 2014-09
month_num Número entero del mes de la fecha y hora subyacente 9
fiscal_month_num Número entero del mes fiscal de la fecha y hora subyacente 6
month_name Nombre del mes September
day_of_month Día del mes 3

Para usar los períodos fiscal_month_num, se debe configurar el parámetro fiscal_month_offset en el modelo.

Períodos trimestrales

Plazo Descripción Resultado de ejemplo
quarter Año y trimestre de la fecha y hora subyacentes 2017-Q3
fiscal_quarter Año y trimestre fiscal de la fecha y hora subyacentes 2017-Q3
quarter_of_year Trimestre del año precedido por una "Q" Q3
fiscal_quarter_of_year Trimestre fiscal del año precedido por una "Q" Q3

Para usar los períodos fiscal_quarter y fiscal_quarter_of_year, se debe configurar el parámetro fiscal_month_offset en el modelo.

Períodos anuales

Plazo Descripción Resultado de ejemplo
year Año entero de la fecha y hora subyacentes 2017
fiscal_year Año fiscal entero de la fecha y hora subyacentes FY2017
day_of_year Día del año 143
week_of_year Semana del año como número 17

Para usar el período fiscal_year, se debe configurar el parámetro fiscal_month_offset en el modelo.

Usa hourX

En hourX, el X se reemplaza por 2, 3, 4, 6, 8 o 12.

Esto dividirá cada día en intervalos con la cantidad de horas especificada. Por ejemplo, hour6 dividirá cada día en segmentos de 6 horas, que aparecerán de la siguiente manera:

  • 2014-09-01 00:00:00
  • 2014-09-01 06:00:00
  • 2014-09-01 12:00:00
  • 2014-09-01 18:00:00

Por ejemplo, una fila con un time de 2014-09-01 08:03:17 tendría un hour6 de 2014-09-01 06:00:00.

Usa minuteX

En minuteX, el X se reemplaza por 2, 3, 4, 5, 6, 10, 12, 15, 20 o 30.

Esto dividirá cada hora en intervalos con la cantidad de minutos especificada. Por ejemplo, minute15 dividirá cada hora en segmentos de 15 minutos, que aparecerán de la siguiente manera:

  • 2014-09-01 01:00:00
  • 2014-09-01 01:15:00
  • 2014-09-01 01:30:00
  • 2014-09-01 01:45:00

Por ejemplo, una fila con un time de 2014-09-01 01:17:35 tendría un minute15 de 2014-09-01 01:15:00.

Usa millisecondX

En millisecondX, el X se reemplaza por 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250 o 500.

Esto dividirá cada segundo en intervalos con la cantidad de milisegundos especificada. Por ejemplo, millisecond250 dividirá cada segundo en segmentos de 250 milisegundos, que aparecerán de la siguiente manera:

  • 2014-09-01 01:00:00.000
  • 2014-09-01 01:00:00.250
  • 2014-09-01 01:00:00.500
  • 2014-09-01 01:00:00.750

Por ejemplo, una fila con un time de 2014-09-01 01:00:00.333 tendría un millisecond250 de 2014-09-01 01:00:00.250.

Conversiones de zona horaria y convert_tz

En general, los cálculos de tiempo (diferencias, duraciones, etc.) solo funcionan correctamente cuando se opera con valores de tiempo que se convierten a la misma zona horaria, por lo que es importante tener en cuenta las zonas horarias cuando se escribe código LookML.

Looker tiene varios parámetros de configuración de zona horaria que convierten los datos basados en el tiempo entre diferentes zonas horarias. De forma predeterminada, Looker realiza la conversión de zona horaria. El parámetro convert_tz se admite para los grupos de dimensiones de type: time. Si no quieres que Looker realice una conversión de zona horaria para una dimensión o un grupo de dimensiones en particular, puedes usar el parámetro convert_tz que se describe en la página de documentación del parámetro convert_tz.

Compatibilidad con dialectos para milisegundos y microsegundos

Looker admite la precisión de períodos hasta microsegundos; sin embargo, algunas bases de datos solo admiten la precisión hasta el segundo. Si una base de datos encuentra un período más preciso de lo que puede admitir, se redondeará a segundos.

En la versión más reciente de Looker, los siguientes dialectos admiten milisegundos:

Dialecto ¿Es compatible?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

En la versión más reciente de Looker, los siguientes dialectos admiten microsegundos:

Dialecto ¿Es compatible?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Cómo especificar la base de datos datatype

El parámetro datatype te permite especificar el tipo de datos de tiempo de la tabla de la base de datos que proporcionas al grupo de dimensiones, lo que puede aumentar el rendimiento de las consultas.

Para los grupos de dimensiones de type: time, el parámetro datatype se aplica al parámetro sql del grupo de dimensiones.

Para los grupos de dimensiones de type: duration, el parámetro datatype se aplica a los parámetros sql_start y sql_end, por lo que debes asegurarte de que sql_start y sql_end sean del tipo de datos especificado.

El parámetro datatype acepta los siguientes valores:

  • epoch: Es un campo de época de SQL (es decir, un número entero que representa la cantidad de segundos desde la época de Unix).
  • date: Es un campo de fecha de SQL (es decir, uno que no contiene información de la hora del día).
  • datetime: Es un campo de fecha y hora de SQL.
  • timestamp: Es un campo de marca de tiempo de SQL.
  • yyyymmdd: Es un campo de SQL que contiene un número entero que representa una fecha con el formato AAAAMMDD.

El valor predeterminado para datatype es timestamp.

Ejemplos

Supongamos que tienes una columna llamada created_at que contiene información de fecha y hora. Quieres crear una dimensión de fecha, semana y mes basada en esta fecha y hora. Podrías usar lo siguiente:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

-

En la IU de Explorar, esto generaría tres dimensiones con los nombres Fecha de creación, Semana de creación y Mes de creación. Observa cómo el nombre dimension_group se combina con los períodos para generar los nombres de las dimensiones.

Aspectos para tener en cuenta

Se debe hacer referencia a los grupos de dimensiones por sus dimensiones individuales.

Dado que un grupo de dimensiones representa un grupo de dimensiones, en lugar de solo una dimensión, no puedes hacer referencia a él directamente en LookML. En su lugar, deberás consultar las dimensiones que crea.

Por ejemplo, considera este grupo de dimensiones:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

Para hacer referencia a una de estas dimensiones en otro campo de LookML, usa la referencia ${created_date}, ${created_week} o ${created_month}. Si intentas usar solo ${created}, Looker no sabrá a qué período te refieres y se producirá un error.

Por este mismo motivo, no debes usar el parámetro primary_key en un grupo de dimensiones si especificas más de un timeframe.

Sugerencia del equipo de chat: Con frecuencia, nos preguntan sobre el error de validación que puede ocurrir si usas primary_key en un dimension_group con más de un timeframe. Para obtener más información, consulta la publicación de Comunidad Períodos y grupos de dimensiones en Looker .

Datos de marcas de tiempo que incluyen información de zonas horarias

Algunos dialectos de bases de datos tienen opciones de marcas de tiempo que incluyen información de la zona horaria. Esto te permite almacenar datos de marcas de tiempo en un solo campo que puede tener varias zonas horarias. Una fila de datos podría almacenarse en UTC y otra en la hora del este. Como ejemplo, consulta la documentación de la marca de tiempo TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ de Snowflake para obtener información sobre las opciones de marca de tiempo del dialecto de Snowflake.

En este caso, cuando Looker realiza conversiones de zonas horarias, pueden producirse errores. Para evitar esto, en el parámetro sql de la dimensión, debes convertir de forma explícita los datos de marca de tiempo a un tipo de marca de tiempo que no realice la conversión de zona horaria. Por ejemplo, en el dialecto de Snowflake, puedes usar la función TO_TIMESTAMP para convertir los datos de marca de tiempo.

Es posible crear dimensiones de tiempo o duración individuales

Es posible crear una dimensión para cada período o duración individual que desees incluir, en lugar de generar todas en una sola dimension_group. En general, puedes evitar crear dimensiones individuales, a menos que desees cambiar la convención de nomenclatura de períodos de Looker o que ya hayas calculado previamente las columnas de tiempo en tu base de datos. Para obtener más información, consulta la página de documentación Tipos de dimensiones, filtros y parámetros.

Puedes cambiar el primer día de la semana

De forma predeterminada, las semanas en Looker comienzan el lunes. Puedes cambiar este comportamiento con el parámetro week_start_day a nivel del modelo.

Solo ten en cuenta que week_start_day no funciona con el período week_of_year porque se basa en el estándar ISO, que usa semanas que comienzan el lunes.

Los filtros y campos personalizados no admiten todos los períodos

Los períodos day_of_week, fiscal_quarter_of_year, millisecond, millisecondX, microsecond, month_name, quarter_of_year y time_of_day no se admiten en los filtros personalizados ni en los campos personalizados.

Los intervalos de mes, trimestre y año solo cuentan los períodos completos

El intervalo month en un grupo de dimensiones duration solo considera que transcurrió un mes si el día de finalización es mayor o igual que el día de inicio. Por ejemplo:

  • La diferencia en meses entre el 26 de septiembre y el 25 de octubre del mismo año es 0.
  • La diferencia en meses entre el 26 de septiembre y el 26 de octubre del mismo año es de 1.

Los intervalos quarter y year siguen la misma lógica.