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
|
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_startysql_endproporcionan 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
intervalsespecifica 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
datatypees 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 detype: duration, el parámetrodatatypese aplica a los parámetrossql_startysql_end, por lo que debes asegurarte de que ambos sean del tipo de datos especificado.sql_startsql_endEl parámetrodatatypese describe con más detalle en la sección Cómo especificar la base de datosdatatypede 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
rawde un grupo de dimensiones existente detype: 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
::datetimeo::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
timeframeses opcional, pero rara vez se omite. Especifica uno o más períodos que debe generar el grupo de dimensiones. Si no se incluyetimeframes, 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
sqlpara los grupos de dimensionestype: timepuede 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
datatypees 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 datosdatatypede esta página.El parámetro
convert_tzes 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 yconvert_tzde 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
- Períodos
- Períodos
- Períodos semanales
- Períodos mensuales
- Períodos trimestrales
- Períodos anuales
- Períodos de
hourX - Períodos de
minuteX - Períodos de
millisecondX
Períodos especiales
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
Períodos mensuales
Para usar los períodos fiscal_month_num, se debe configurar el parámetro fiscal_month_offset en el modelo.
Períodos trimestrales
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
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:002014-09-01 06:00:002014-09-01 12:00:002014-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:002014-09-01 01:15:002014-09-01 01:30:002014-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.0002014-09-01 01:00:00.2502014-09-01 01:00:00.5002014-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_keyen undimension_groupcon más de untimeframe. 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.