En esta página, se hace referencia al parámetro
type
que forma parte de una dimensión o un filtro.
type
también se puede usar como parte de una medida, que se describe en la página de documentación Tipos de medición.
type
también se puede usar como parte de un grupo de dimensiones, que se describe en la página de documentación del parámetrodimension_group
.
Uso
dimension: field_name {
type: field_type
}
}
Jerarquía
type |
Tipos de campos posibles
Dimensión, Filtro, ParámetroValor predeterminado
string Acepta
Una dimensión, un filtro o un tipo de parámetro |
En esta página, se incluyen detalles adicionales sobre los distintos tipos que se pueden asignar a dimension
, filter
o parameter
. Una dimensión, un filtro o un parámetro solo pueden tener un tipo, cuyo valor predeterminado es string
si no se especifica ninguno.
Algunos tipos tienen parámetros complementarios, que se describen en la sección adecuada.
Definiciones de tipos
Tipo | Descripción | Tipos de campo válidos |
---|---|---|
bin |
ADDED 21.14 Para campos que agrupan valores numéricos en varios rangos | A |
date |
Para campos que contengan fechas | D F P |
date_time |
Para campos que contienen fechas y horas | D F P |
distance |
Para los campos que calculan la distancia de la ruta más directa (“ya que el cuervo vuela”) entre dos dimensiones de type: location |
A |
duration |
Se usa con un elemento dimension_group para crear varias dimensiones basadas en la duración a partir de una sola columna de tabla. Para obtener información sobre los grupos de dimensiones, consulta la página de documentación del parámetro dimension_group . |
DG |
location |
Para los campos que se basan en una latitud y longitud y se utilizarán en las visualizaciones | A |
number |
Para campos que contienen números | D F P |
string |
Para campos que contengan letras o caracteres especiales | D F P |
tier |
Para campos que agrupan valores numéricos en varios rangos | A |
time |
Se usa con un elemento dimension_group para crear varias dimensiones basadas en el tiempo a partir de una sola columna de la tabla. Para obtener información sobre los grupos de dimensiones, consulta la página de documentación del parámetro dimension_group . |
DG |
unquoted |
Para los campos parameter cuyos valores se insertarán directamente en SQL y, por lo tanto, no deben estar entre comillas (como lo harían con type: string ) |
P |
yesno |
Para campos que muestran si algo es verdadero o falso | D F P |
zipcode |
Para los campos que contengan un código postal y se utilizarán en las visualizaciones | A |
Tipos de fecha y hora individuales | Una alternativa poco común a type: time para crear dimensiones únicas basadas en el tiempo |
D F |
Tipos de duración individuales | Una alternativa poco común a type: duration para crear dimensiones basadas en el tiempo únicas que calculen las diferencias horarias |
A |
int |
REMOVED 5.4
Reemplazada por type: number |
A |
bin
type: bin
es un alias paratype: tier
. Los dos tipos se pueden usar indistintamente.
type: bin
se usa junto con el parámetro bins
para separar una dimensión numérica en un conjunto de rangos de números. Por ejemplo, puedes discretizar una dimensión de edad en diferentes rangos de edad. Puedes cambiar la forma en que aparecen las discretizaciones en la IU de Looker con el parámetro style
.
El patrón de uso es el siguiente:
dimension: field_name {
type: bin
bins: [numeric_value, numeric_value, ... ]
estilo: interval
sql: ${my_field_name} :
El parámetro sql
para las dimensiones de type: bin
puede tomar cualquier expresión de SQL válida que genere un número o un número entero.
El ejemplo de edad anterior podría verse así:
dimension: age_bin {
type: bin
bins: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
style: interval
sql: ${age} ;;
}
El modo en que aparecería esto en la IU de Looker se describe en la sección style
del parámetro type: tier
en esta página.
El tipo bin
es un alias para type: tier
. Los dos tipos se pueden usar indistintamente, y el comportamiento es el mismo para ambos:
- El subparámetro
style
se usa para personalizar la apariencia de las discretizaciones de la IU de Looker. - No se puede usar
Dimensions of type: bin
en filtros personalizados. - Si usas
type: bin
junto con el relleno de dimensiones, es posible que se generen depósitos de niveles inesperados.
distance
type: distance
se usa para calcular la distancia de la ruta más directa ("ya que el cuervo vuela") entre dos dimensiones de type: location
.
Se excluye el parámetro sql
para las dimensiones de type: distance
. En cambio, debes proporcionar una referencia a una dimensión type: location
en los parámetros start_location_field
y end_location_field
.
El uso es el siguiente:
dimension: field_name {
type: distance
start_location_field: field_name_1
end_location_field: field_name_2
units: kilómetros
La unidad de distancia se determina mediante el parámetro units
, que puede tomar los siguientes valores:
feet
kilometers
meters
miles
nautical_miles
yards
Por ejemplo, puedes calcular la distancia recorrida por un cliente para retirar el alquiler como este:
dimension: distance_to_pickup {
type: distance
start_location_field: customer.home_location
end_location_field: rental.pickup_location
units: miles
}
La distancia calculada será la ruta más directa entre los dos puntos, no necesariamente la distancia recorrida por la ruta.
No uses la sintaxis ${view_name.field_name}
en los parámetros start_location_field
y end_location_field
. En su lugar, usa el nombre de la vista y el nombre del campo, como view_name.field_name
.
duration
type: duration
se usa junto con un dimension_group
para crear un conjunto de diferencias de tiempo calculadas entre las dimensiones o las expresiones de SQL.
type: duration
solo funciona con una dimension_group
y no funciona con una dimension
normal. Sin embargo, puede especificar dimensiones individuales basadas en la duración, como se explica en esta sección a continuación.
Para obtener información sobre los grupos de dimensiones con type: duration
, consulta la página de documentación del parámetro dimension_group
.
location
type: location
se usa junto con los parámetros sql_latitude
y sql_longitude
para crear coordenadas que desees trazar en una visualización de Mapa o Mapa estático (puntos) (usa un campo de estado o país para Mapa estático [regiones]) o que quieras usar en un cálculo de type: distance
.
El patrón de uso es el siguiente:
dimension: field_name {
type: location
sql_latitude:${field_name_1} ;;
sql_longitude:${field_name_2} ;
}
Se excluye el parámetro sql
para las dimensiones de type: location
. En su lugar, debes proporcionar cualquier expresión de SQL válida que genere una latitud o longitud decimal para los parámetros sql_latitude
y sql_longitude
. Por lo general, son referencias a los campos de LookML que contienen información de latitud y longitud, pero pueden ser valores estáticos si deseas tener una ubicación de tu sede central o algo similar a esas líneas.
Por ejemplo, puedes crear una dimensión store_location
como la siguiente:
dimension: store_location {
type: location
sql_latitude: ${store_latitude} ;;
sql_longitude: ${store_longitude} ;;
}
Si no quieres trazar las ubicaciones ni calcular distancias, puedes usar un tipo más simple, como type: number
. Cuando veas una ubicación en una tabla, se mostrará el valor de tu base de datos y se generará automáticamente un vínculo a esa ubicación en Google Maps.
Dialectos de base de datos compatibles para location
Para que Looker admita type: location
en tu proyecto de Looker, el dialecto de la base de datos también debe admitirlo. En la siguiente tabla, se muestra qué dialectos son compatibles con type: location
en la versión más reciente de Looker:
number
type: number
se usa con números o números enteros.
El parámetro sql
para las dimensiones de type: number
puede tomar cualquier expresión de SQL válida que genere un número o un número entero.
Los campos type: number
se pueden formatear mediante los parámetros value_format
o value_format_name
.
Por ejemplo, el siguiente LookML crea un campo llamado profit
basado en los campos revenue
y cost
y, luego, lo muestra en formato de dinero ($1,234.56):
dimension: profit {
type: number
sql: ${revenue} - ${cost} ;;
value_format_name: usd
}
Una dimensión solo puede realizar aritméticas en otras dimensiones, no en medidas. Además, las dimensiones
type: number
no proporcionarán sugerencias a los usuarios, incluso si las usa para mostrar números de ID.
string
type: string
se suele usar con campos que contienen letras o caracteres especiales. También se puede usar con campos numéricos, aunque Looker tiene mejores funciones para manejar números si usas type: number
en su lugar.
El parámetro sql
para las dimensiones de type: string
puede tomar cualquier expresión de SQL válida.
Por ejemplo, el siguiente LookML crea el campo full_name
mediante la combinación de un campo llamado first_name
y last_name
:
dimension: full_name {
type: string
sql: CONCAT(${first_name}, ' ', ${last_name}) ;;
}
En este ejemplo, se podría omitir type: string
, porque string
es el valor predeterminado de type
.
tier
Puedes usar
type: bin
como alias detype: tier
. Los dos tipos se pueden usar indistintamente.
type: tier
se usa junto con el parámetro tiers
para separar una dimensión numérica en un conjunto de rangos de números. Por ejemplo, podría dividir una dimensión de edad en diferentes rangos de edad. Puedes cambiar la forma en que aparecen los niveles en la IU de Looker con el parámetro style
.
El patrón de uso es el siguiente:
dimension: field_name {
type: tier
tiers: [numeric_value, numeric_value, ... ]
style: interval
sql: ${my_field_name} :
El parámetro sql
para las dimensiones de type: tier
puede tomar cualquier expresión de SQL válida que genere un número o un número entero.
El ejemplo de edad anterior podría verse así:
dimension: age_tier {
type: tier
tiers: [0, 10, 20, 30, 40, 50, 60, 70, 80]
style: classic # the default value, could be excluded
sql: ${age} ;;
}
El modo en que esto aparecería en la IU de Looker se describe en la sección style
de esta página.
Las dimensiones de
type: tier
no se pueden usar en filtros personalizados.
style
El parámetro style
te permite cambiar la forma en que aparecen los niveles en la IU de Looker. Aunque no se muestra en los ejemplos a continuación, si los números tuvieran números negativos, habría un nivel inicial que incluiría todos los números desde el infinito negativo hasta el 0, pero no los incluidos. Hay cuatro valores posibles:
classic
(el valor predeterminado)interval
integer
relational
classic
style: classic
es la configuración predeterminada y tiene el siguiente aspecto:
- Puedes interpretar esta notación de nivel de la siguiente manera:
- T02 [10,20] es el rango que incluye 10 y hasta 20, sin incluir.
- T09 [80,inf] es el rango que incluye 80 y hasta el infinito
interval
style: interval
es similar a style: classic
, pero no tiene las etiquetas TXX iniciales. Se ve así:
integer
style: integer
debe usarse con valores de números enteros discretos (como la edad). Si intenta usar números no enteros para definir los niveles, recibirá un error. Este estilo se ve así:
relational
style: relational
se usa mejor con números continuos (como dólares) y se ve así:
También puedes diseñar niveles con value_format
. Por ejemplo:
dimension: amount_tier {
type: tier
tiers: [0, 10, 20, 30, 40, 50, 60, 70, 80]
style: integer
sql: ${amount} ;;
value_format: "$#,##0"
}
Este ejemplo daría como resultado etiquetas de nivel como $10 to $19
, $20 to $29
, etcétera.
Aspectos para tener en cuenta
Si usas tier
junto con el relleno de dimensiones, es posible que se generen depósitos de niveles inesperados.
Por ejemplo, una dimensión de type: tier
, Rango de edad, mostrará buckets de nivel para Por debajo de 0 y De 0 a 9 cuando la función de relleno de dimensiones esté habilitada, aunque los datos no incluyan valores de edad para esos buckets:
Cuando se inhabilita el relleno de dimensiones para el Nivel de edad, los segmentos reflejan con mayor precisión los valores de edad que están disponibles en los datos:
Para habilitar o inhabilitar el relleno de dimensiones, coloque el cursor sobre el nombre de la dimensión en la pestaña Explorar, haga clic en el ícono de ajustes a nivel de campo y seleccione Quitar valores completados en los niveles para inhabilitarlos o Completar los valores de niveles faltantes para habilitarlos.
time
type: time
se usa junto con dimension_group
y el parámetro timeframes
para crear un conjunto de dimensiones basadas en el tiempo. Por ejemplo, puede crear fácilmente una dimensión de fecha, semana y mes en función de una sola columna de marca de tiempo.
type: time
solo funciona con una dimension_group
y no funciona con una dimension
normal. Sin embargo, puede especificar dimensiones individuales basadas en el tiempo, como se explica en esta sección a continuación.
Para obtener información sobre los grupos de dimensiones, consulta la página de documentación sobre los parámetros dimension_group
, que también incluye información sobre los parámetros timeframes
, convert_tz
y datatype
, además de desafíos comunes y advertencias que debes tener en cuenta cuando usas datos basados en el tiempo.
unquoted
type: unquoted
solo se usa con los campos parameter
. El tipo unquoted
es similar a type: string
, excepto que, cuando se inserte el valor de parameter
en la variable líquida {% parameter %}
, no se lo pondrá entre comillas. Esto es útil cuando se insertan valores en SQL, como nombres de columnas o tablas, que no se pueden citar para que funcionen de forma correcta.
Insertar valores sin comillas directamente en SQL podría crear la posibilidad de acciones de SQL no deseadas. Para solucionar este problema, los valores de los parámetros de type: unquoted
están restringidos a los caracteres de la A a la Z y del 0 al 9 (sin espacios ni otros caracteres especiales).
A modo de ejemplo, el siguiente LookML crea un parameter
llamado table_name
que producirá un valor sin comillas:
parameter: table_name {
type: unquoted
}
yesno
type: yesno
crea un campo que indica si algo es verdadero o falso. En la IU de Explorar, los valores aparecen como Sí y No.
El parámetro sql
para una dimensión type: yesno
toma una expresión SQL válida que se evalúa como TRUE
o FALSE
. Si la condición se evalúa como TRUE
, se muestra Sí al usuario. De lo contrario, se muestra No.
La expresión SQL para dimensiones type: yesno
no puede incluir agregaciones. Esto significa que no puede contener agregaciones de SQL ni ninguna referencia a las medidas de LookML. Si quieres crear un campo yesno
que incluya una agregación de SQL o que haga referencia a una medida de LookML, usa una medida con type: yesno
, no una dimensión.
Por ejemplo, el siguiente LookML crea un campo que indica si se pagó o no un pedido, en función del campo status
:
dimension: is_order_paid {
type: yesno
sql: ${status} = 'paid' ;;
}
Para hacer referencia a un campo type: yesno
en otro campo, trata el campo type: yesno
como booleano (en otras palabras, como si ya tuviera un valor verdadero o falso). Por ejemplo:
dimension: is_big_order {
type: yesno
sql: ${order_size} = 'big' ;;
}
# This is correct
measure: total_boxes_needed {
type: number
sql: SUM(CASE WHEN ${is_big_order} THEN 2 ELSE 1 END) ;;
}
# This is NOT correct
measure: total_boxes_needed {
type: number
sql: SUM(CASE WHEN ${is_big_order} = 'Yes' THEN 2 ELSE 1 END) ;;
}
Si usas type: yesno
con datos basados en el tiempo, la dimensión muestra yes si el valor de la fecha y la hora tiene un valor y muestra no si no es así.
zipcode
type: zipcode
se usa con las dimensiones del código postal que quieres trazar en una visualización de mapa estático (puntos) (usa un campo de estado o país para mapa estático [regiones]). A cualquier dimensión de type: zipcode
se le asigna automáticamente la map_layer_name
de us_zipcode_tabulation_areas
. Si no quieres trazar los códigos postales, puedes usar un tipo más simple, como type: number
.
El parámetro sql
para las dimensiones de type: zipcode
puede tomar cualquier expresión de SQL válida que genere un código postal de EE.UU. de cinco dígitos.
Para filtrar una dimensión de código postal, algunos dialectos de bases de datos requieren que el campo de base de datos al que hace referencia la dimensión de código postal sea un campo de tipo varchar o string, no un campo de tipo de número entero.
Por ejemplo:
dimension: zip {
type: zipcode
sql: ${TABLE}.zipcode ;;
}
Tipos de fecha y hora individuales
Por lo general, las fechas se controlan como un dimension_group
que usa type: time
.
Es posible crear un campo dimension
o filter
para cada período individual que desees incluir, en lugar de generarlos todos en un solo dimension_group
. Por lo general, se evita esto, a menos que ya hayas calculado columnas de tiempo en tu base de datos o desees cambiar la convención de nombres de período de Looker (como tener un campo llamado created_date_of_purchase
en lugar de created_date
).
Muchos tipos individuales de hora y fecha se enumeran a continuación.
A modo de ejemplo, para esta definición dimension_group
:
dimension_group: created {
type: time
timeframes: [week, month, year]
sql: ${TABLE}.created_at ;;
}
Puedes usar esto como un equivalente lógico:
dimension: created_week {
type: date_week
sql: ${TABLE}.created_at ;;
}
dimension: created_month {
type: date_month
sql: ${TABLE}.created_at ;;
}
dimension: created_year {
type: date_year
sql: ${TABLE}.created_at ;;
}
Tipos basados en el tiempo disponibles
Los siguientes tipos se usan en el parámetro type
de una dimensión individual para crear campos basados en la hora o la fecha. No uses estos tipos con el parámetro timeframe
, que se documenta en la página de documentación de dimension_group.
Todos los tipos de fecha y hora individuales requieren una marca de tiempo como entrada de tu base de datos.
Tipos especiales
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date_raw |
El valor sin procesar de tu base de datos, sin conversión de conversiones o zona horaria, no aparecerá en la página Explorar (por lo general, no es necesario, excepto en las combinaciones o en las comparaciones de tiempo) | 2014-09-03 17:15:00 +0000 |
Tipos de hora
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date_time |
La fecha y la hora del campo subyacente (algunos dialectos de SQL muestran la misma precisión que la base de datos, mientras que otros solo muestran segundos) | 2014-09-03 17:15:00 |
date_time_of_day |
Hora del día | 17:15 |
date_hour |
La fecha y la hora se truncan según la hora más cercana | 2014-09-03 17 |
date_hour_of_day |
Hora de día en números enteros del campo subyacente | 17 |
date_hourX |
Se divide cada día en intervalos con la cantidad de horas especificada. Requiere explicación; consulta más abajo. | Ver a continuación |
date_minute |
La fecha y la hora se truncan al minuto más cercano | 2014-09-03 17:15 |
date_minuteX |
Se divide cada hora en intervalos con la cantidad de minutos especificada. Requiere explicación; consulta más abajo. | Ver a continuación |
date_second |
La fecha y la hora se truncan al segundo más cercano | 2014-09-03 17:15:00 |
date_millisecond |
La fecha y la hora se truncan según el milisegundo más cercano (consulte la sección Compatibilidad con dialectos para milisegundos y microsegundos para obtener información acerca de la compatibilidad con dialectos) | 2014-09-03 17:15:00.000 |
date_millisecondX |
Se divide cada segundo en intervalos con la cantidad especificada de milisegundos (consulta la sección Compatibilidad con milésimas de segundos y microsegundos para obtener más información sobre la compatibilidad con dialectos). | 2014-09-01 01:00:00.250 |
date_microsecond |
La fecha y la hora se truncan según el microsegundo más cercano (consulte la sección Compatibilidad con dialectos en milisegundos y microsegundos para obtener información acerca de la compatibilidad con dialectos) | 2014-09-03 17:15:00.000000 |
Tipos de fecha
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date |
Fecha del campo subyacente | 2017-09-03 |
date_date |
REMOVED 4.6
Reemplazado por date |
Tipos de semana
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date_week |
Fecha de la semana que comienza el lunes de la fecha y hora subyacentes | 2017-09-01 |
date_day_of_week |
Solo el día de la semana | Wednesday |
date_day_of_week_index |
Índice del día de la semana (0 = lunes, 6 = domingo) | 2 |
Ten en cuenta que los tipos date_week
, date_day_of_week
y date_day_of_week_index
dependen del valor de week_start_day
, cuyo valor predeterminado es el lunes.
Tipos de meses
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date_month |
Año y mes de la fecha y hora subyacentes | 2017-09 |
date_month_num |
Número entero del mes de la fecha y la hora subyacentes | 9 |
date_month_name |
Nombre del mes | September |
date_day_of_month |
Día del mes | 3 |
date_fiscal_month_num |
Número entero del mes de la fecha y la hora subyacentes | 9 |
Para usar el tipo date_fiscal_month_num
, se debe configurar el parámetro fiscal_month_offset
en el modelo.
Tipos de trimestres
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date_quarter |
Año y trimestre de la fecha y hora subyacentes | 2017-Q3 |
date_quarter_of_year |
Trimestre del año precedido por "Q" | Q3 |
date_fiscal_quarter |
Año fiscal y trimestre de la fecha y hora subyacentes | 2017-Q3 |
date_fiscal_quarter_of_year |
Trimestre fiscal del año precedido por "Q" | Q3 |
Para usar los tipos date_fiscal_quarter
y date_fiscal_quarter_of_year
, se debe establecer el parámetro fiscal_month_offset
en el modelo.
Tipos de años
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
date_year |
Año entero de la fecha subyacente | 2017 |
date_day_of_year |
Día del año | 143 |
date_week_of_year |
Semana del año en número | 17 |
date_fiscal_year |
Año fiscal entero de la fecha y hora subyacentes | 2017 |
Para usar el tipo date_fiscal_year
, se debe configurar el parámetro fiscal_month_offset
en el modelo.
Usa date_hourX
En date_hourX
, se reemplaza X
por 2, 3, 4, 6, 8 o 12.
Se dividirá cada día en intervalos con la cantidad de horas especificada. Por ejemplo, date_hour6
se 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 date_hour6
de 2014-09-01 06:00:00
.
Usa date_minuteX
En date_minuteX
, se reemplaza X
por 2, 3, 5, 10, 15 o 30.
Se dividirá cada hora en intervalos, con la cantidad de minutos especificada. Por ejemplo, date_minute15
se 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
Para dar un ejemplo, una fila con un time
de 2014-09-01 01:17:35
tendría un date_minute15
de 2014-09-01 01:15:00
.
Zonas horarias y convert_tz
En general, los cálculos de tiempo (diferencias, duraciones, etc.) solo funcionan correctamente cuando operas en valores de hora que se convierten en la misma zona horaria, por lo que es importante tener en cuenta las zonas horarias cuando escribes LookML.
Looker tiene varias configuraciones de zona horaria que convierten datos basados en horas entre diferentes zonas horarias. Looker convierte las zonas horarias de forma predeterminada. 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 de marcación para milisegundos y microsegundos
Looker admite la precisión en microsegundos; sin embargo, algunas bases de datos solo lo son en segundos. Si una base de datos encuentra un tipo de tiempo más preciso de lo que admite, se redondeará a segundos.
En la versión más reciente de Looker, los siguientes dialectos admiten milisegundos:
En la versión más reciente de Looker, los siguientes dialectos admiten microsegundos:
Tipos de duración individuales
Por lo general, las duraciones se manejan como un dimension_group
que usa type: duration
.
Es posible crear un dimension
para cada duración individual que quieras incluir, en lugar de generarlos todos en un solo dimension_group
. Esto suele evitarse, a menos que desee cambiar la convención de nombres de los períodos de Looker (como tener un campo llamado Cantidad de días hasta la entrega en lugar de Duración hasta la entrega).
Hay varios tipos de duración individuales a continuación.
Cuando usa un tipo de duración para una dimensión, también debe incluir los parámetros sql_start
y sql_end
a fin de proporcionar las horas de inicio y finalización para calcular la diferencia de tiempo.
Los parámetros sql_start
y sql_end
pueden tomar cualquier expresión de SQL válida que contenga datos en formato de marca de tiempo, fecha y hora, fecha, ciclo de entrenamiento o aaaammdd. Los campos sql_start
y sql_end
pueden ser cualquiera de los siguientes:
- Es una referencia a un período de
raw
de un grupo de dimensiones existente detype: time
. - Una referencia a una dimensión de
type: date_raw
. - Una expresión de SQL que es una marca de tiempo, como una referencia a una columna de SQL que es una marca de tiempo.
- Una expresión SQL que extrae un tiempo de tu base de datos mediante la expresión adecuada para tu dialecto.
A modo de ejemplo, para esta definición dimension_group
:
dimension_group: to_delivery {
type: duration
intervals: [day, hour]
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
Puedes usar estos parámetros de dimension
como un equivalente lógico:
dimension: number_of_days_to_delivery {
type: duration_day
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
dimension: number_of_hours_to_delivery {
type: duration_hour
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
En la IU de Explorar, se crearían las dimensiones Cantidad de días hasta la entrega y Cantidad de horas hasta la entrega.
Tipos de duración disponibles
Los siguientes tipos se usan en el parámetro type
de una dimensión individual para crear campos basados en la duración. No uses estos tipos con el parámetro intervals
, que se documenta en la página de documentación de dimension_group.
Todos los tipos de duración individuales requieren una marca de tiempo como entrada de tu base de datos.
Tipo | Descripción | Resultado de ejemplo |
---|---|---|
duration_day |
Calcula una diferencia de tiempo en días. | 9 days |
duration_hour |
Calcula una diferencia de tiempo en horas. | 171 hours |
duration_minute |
Calcula una diferencia de tiempo en minutos. | 10,305 minutes |
duration_month |
Calcula una diferencia de tiempo en meses. | 3 months |
duration_quarter |
Calcula una diferencia de tiempo en trimestres del año. | 2 quarters |
duration_second |
Calcula una diferencia de tiempo en segundos. | 606,770 seconds |
duration_week |
Calcula una diferencia de tiempo en semanas. | 6 weeks |
duration_year |
Calcula una diferencia de tiempo en años. | 2 years |