En esta página, se hace referencia al parámetro
sql_analytic_model_nameque forma parte de una exploración.
sql_analytic_model_nametambién se puede usar como parte de una vista, que se describe en la página de documentación del parámetrosql_analytic_model_name(para vistas).
Uso
explore: explore_name {
sql_analytic_model_name: analytic_model_name ;;
}
sql_analytic_model_name |
Valor predeterminado
Ninguno
Acepta
Un nombre de modelo analítico en la base de datos
Reglas especiales
|
Definición
Para las conexiones de BigQuery y Snowflake, el parámetro sql_analytic_model_name especifica el nombre de un modelo analítico existente en la base de datos (un gráfico de BigQuery o una vista semántica en Snowflake) para usar como base para una exploración de LookML.
En la mayoría de los casos, usas el parámetro sql_analytic_model_name (para vistas) para especificar un modelo analítico en tu archivo de vista. Luego, en ese archivo de vista, defines las dimensiones y mediciones de LookML que se basan en el modelo analítico de tu base de datos. Sin embargo, en los casos en que tu base de datos tenga varios modelos analíticos que se puedan definir con los mismos campos de LookML, puedes usar el parámetro sql_analytic_model_name en un parámetro explore.
Cuando especificas un sql_analytic_model_name en un parámetro explore, la exploración anulará el modelo analítico especificado en el archivo de vista y, en su lugar, consultará el modelo analítico que especificaste en el sql_analytic_model_name en el parámetro explore. En este caso, la exploración usará las dimensiones y mediciones de LookML que se definen en el archivo de vista, pero las aplicará al modelo analítico que se especifica en el parámetro sql_analytic_model_name del parámetro explore.
Cómo definir el alcance de los nombres de los modelos analíticos
Cuando haces referencia a un modelo analítico usando solo el nombre del modelo analítico, Looker usa la ruta de búsqueda predeterminada (la base de datos y el esquema) que el administrador de Looker configuró en los parámetros de configuración de la conexión de base de datos.
Si necesitas hacer referencia a un modelo analítico en una base de datos y un esquema diferentes que no estén en la ruta de búsqueda predeterminada del usuario de la base de datos, puedes definir el alcance del nombre del modelo analítico con el formato <database_name>.<schema_name>.<analytic_model_name> para dirigir a otra base de datos o esquema:
- Para hacer referencia a un modelo analítico desde un esquema diferente, usa
<schema_name>.<analytic_model_name>. - Para hacer referencia a un modelo analítico desde una base de datos diferente, usa el
<database_name>.<schema_name>.<analytic_model_name>completo.
Para una conexión de Google BigQuery, puedes hacer referencia a un modelo analítico en un proyecto y un conjunto de datos diferentes definiendo el alcance del nombre del modelo analítico con el formato <project_name>.<dataset_name>.<analytic_model_name>. Consulta la página de documentación de la conexión de Google BigQuery para obtener más información.
Ejemplo
Este es un ejemplo de una vista de LookML llamada MyStoreGraphView que se basa en un gráfico StoreGraph de BigQuery en una base de datos de BigQuery, incluidas las dimensiones y mediciones que se asignan al gráfico:
view: MyStoreGraphView {
sql_analytic_model_name: StoreGraph ;;
dimension: location_id {
type: number
sql: Stores_location_id ;;
}
dimension: population {
type: number
sql: Locations_population ;;
}
dimension: location_name {
type: string
sql: Locations_name ;;
}
measure: locations_total_population {
type: number
sql: Locations_total_population ;;
}
}
Si suponemos que la base de datos tiene otro gráfico llamado ShopDetailsGraph con los mismos elementos que el StoreGraph, esta es una exploración que anula el valor sql_analytic_model_name en el archivo de vista MyStoreGraphView. La exploración tendrá las mismas dimensiones y mediciones de LookML que se definen en MyStoreGraphView, pero la exploración consultará el modelo analítico ShopDetailsGraph:
explore: MyStoreGraphView {
sql_analytic_model_name: ShopDetailsGraph ;;
}
Aspectos para tener en cuenta
Consideraciones para los modelos analíticos en Looker
Cuando uses modelos analíticos en la base de datos, ten en cuenta las siguientes consideraciones y limitaciones:
Tipos de datos: Solo se admiten los siguientes tipos de datos para dimensiones y mediciones con modelos analíticos:
- Admitidos para dimensiones y mediciones:
stringnumberdateyesno
- Admitidos solo para dimensiones:
timedate_time
- Admitidos para dimensiones y mediciones:
Mediciones:
- Las mediciones base deben estar predefinidas: Las mediciones base deben estar predefinidas en el modelo analítico de la base de datos subyacente. Looker no puede definir una nueva medición base realizando una agregación (como
type: sumotype: count) en una dimensión de un modelo analítico. Se admiten las mediciones basadas en otras mediciones: Puedes usar el parámetro
sqlde una medición de LookML para realizar cálculos no agregados que usen mediciones base predefinidas del modelo analítico. Cuando creas una medición basada en otras mediciones, no puedes definir la nueva medición como un tipo de medición agregada, comosumocount. Debes definir la nueva medición como un tipo de medición no agregada, comostring,number,dateoyesno. Consulta el siguiente ejemplo:measure: average_order_amount { type: number sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;; }
- Las mediciones base deben estar predefinidas: Las mediciones base deben estar predefinidas en el modelo analítico de la base de datos subyacente. Looker no puede definir una nueva medición base realizando una agregación (como
Uniones: Una exploración cuya vista base se basa en un modelo analítico no puede incluir ninguna unión. Del mismo modo, una vista basada en un modelo analítico no se puede unir a una exploración que tenga una vista base de LookML estándar.
Uniones implícitas: Las funciones que dependen de uniones implícitas no son compatibles con los modelos analíticos. Algunos ejemplos de funciones que dependen de uniones implícitas son los calendarios personalizados y los campos que se definen con
type: location,type: distanceotype: zipcode.Las siguientes funciones no son compatibles con los modelos analíticos:
Se debe poder acceder al modelo analítico desde la conexión actual
Cuando se usa el sql_analytic_model_name parámetro dentro de un explore objeto, ese explore objeto se incluye en un objeto de modelo. (La jerarquía de esta página muestra esta cadena de relaciones). El objeto de modelo tiene una base de datos connection definida en él. Cuando haces referencia a un modelo analítico en el parámetro sql_analytic_model_name, se debe poder acceder al modelo analítico dentro de la conexión asociada especificada en el archivo de modelo.
El administrador de Looker define la base de datos y el esquema predeterminados (o, para Google BigQuery, el proyecto de facturación y el conjunto de datos) cuando crea la conexión de Looker a tu base de datos.