En esta página, se hace referencia al parámetro
sql_analytic_model_nameque forma parte de una vista.
sql_analytic_model_nametambién se puede usar como parte de una exploración, como se describe en la página de documentación del parámetrosql_analytic_model_name(para exploraciones).
Uso
view: view_name {
sql_analytic_model_name: analytic_model_name ;;
}
|
Jerarquía
sql_analytic_model_name |
Valor predeterminado
Ninguno
Acepta
Nombre de un modelo analítico integrado en la base de datos
Reglas especiales
|
Definición
En el caso de 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 de una vista de LookML. Esto te permite aprovechar los modelos analíticos definidos directamente en tu base de datos, como BigQuery Graph o las vistas semánticas en Snowflake.
En este caso, el objeto del modelo analítico ya existe en tu base de datos y está regido por tu base de datos. Looker no crea, mantiene ni administra el modelo analítico. Esto es análogo a cómo Looker no rige las tablas de bases de datos normales expuestas como vistas de LookML con sql_table_name.
En el archivo de vista de LookML, usa el parámetro sql_analytic_model_name para dirigir Looker al modelo analítico de tu base de datos. Luego, crea dimensiones y medidas de Looker para asignarlas al modelo analítico, de modo que puedas usar Looker para consultar el modelo analítico.
Cómo definir el alcance de los nombres de los modelos analíticos
Cuando haces referencia a un modelo analítico solo con su nombre, Looker usa la ruta de búsqueda predeterminada (la base de datos y el esquema) que tu administrador de Looker configuró en los parámetros de configuración de la conexión de la base de datos.
Si necesitas hacer referencia a un modelo analítico en una base de datos y un esquema diferentes que no se encuentran 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 apuntar a otra base de datos o esquema:
- Para hacer referencia a un modelo analítico de otro esquema, usa
<schema_name>.<analytic_model_name>. - Para hacer referencia a un modelo analítico de otra base de datos, usa el
<database_name>.<schema_name>.<analytic_model_name>completo.
En el caso de una conexión de Google BigQuery, puedes hacer referencia a un modelo analítico en un proyecto y un conjunto de datos diferentes si defines 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 sobre la conexión de Google BigQuery para obtener más información.
Crea dimensiones y medidas de LookML basadas en tu vista analítica
Después de crear un archivo de vista y de identificar un modelo analítico como el sql_analytic_model_name, en el mismo archivo de vista, puedes definir dimensiones y medidas de LookML que se basen en el modelo analítico.
Consulta la documentación de tu dialecto para obtener información sobre la sintaxis de SQL adecuada que debes usar para hacer referencia a los elementos de tu modelo analítico. Por ejemplo, para crear una dimensión de LookML a partir de una entidad de BigQuery Graph, debes usar guiones bajos para separar los elementos cuando definas el alcance. Por ejemplo, para BigQuery Graph, esta dimensión de LookML se basa en la propiedad location_id de la tabla de nodos Stores:
dimension: location_id {
type: number
sql: Stores_location_id ;;
}
Sin embargo, para crear una dimensión de LookML basada en una vista semántica de Snowflake, debes usar el nombre no calificado de una métrica o dimensión.
Ejemplo
A continuación, se muestra un ejemplo de un gráfico de BigQuery llamado StoreGraph que se define en una base de datos de BigQuery:
CREATE OR REPLACE PROPERTY GRAPH mydataset.StoreGraph
NODE TABLES (
mydataset.Stores AS S,
mydataset.Locations AS L
PROPERTIES(id, name, population, MEASURE(SUM(population)) AS total_population)
)
EDGE TABLES (
mydataset.Stores AS SL
SOURCE KEY (location_id) REFERENCES L (id)
DESTINATION KEY (name) REFERENCES S (name)
);
Y aquí tienes un ejemplo de una vista de LookML basada en el gráfico de StoreGraph de BigQuery, que incluye dimensiones y medidas asignadas 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 ;;
}
}
Aspectos para tener en cuenta
Consideraciones para los modelos analíticos en Looker
Cuando uses modelos analíticos integrados 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 las dimensiones y las métricas con los modelos analíticos:
- Se admiten las siguientes dimensiones y medidas:
stringnumberdateyesno
- Solo se admite para las dimensiones:
timedate_time
- Se admiten las siguientes dimensiones y medidas:
Mediciones:
- Las medidas básicas deben estar predefinidas: Las medidas básicas deben estar predefinidas en el modelo analítico de la base de datos subyacente. Looker no puede definir una nueva medida base realizando una agregación (como
type: sumotype: count) en una dimensión de un modelo analítico. Se admiten las medidas basadas en otras medidas: Puedes usar el parámetro
sqlde una medida de LookML para realizar cálculos no agregados que usen medidas básicas predefinidas del modelo analítico. Cuando creas una medida basada en otras medidas, no puedes definir la nueva medida como un tipo de medida agregada, comosumocount. Debes definir la nueva métrica como un tipo de métrica 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 medidas básicas deben estar predefinidas: Las medidas básicas deben estar predefinidas en el modelo analítico de la base de datos subyacente. Looker no puede definir una nueva medida 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 se basan en 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 el parámetro sql_analytic_model_name se usa dentro de un objeto view, se puede hacer referencia a ese objeto view en un objeto explore, al que, a su vez, se hace referencia en un objeto model. El objeto model 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 que se especifica en el archivo del modelo.
El administrador de Looker define la base de datos y el esquema predeterminados (o, en el caso de Google BigQuery, el proyecto de facturación y el conjunto de datos) cuando crea la conexión de Looker a tu base de datos.