En esta página, se definen los siguientes términos y conceptos básicos, que es probable que encuentres a menudo durante el desarrollo de LookML:
- Proyectos de LookML
- Estructuras principales de LookML (como modelos, vistas y Explorar)
- Tablas derivadas
- Conexiones de bases de datos
- Distinción entre mayúsculas y minúsculas
En esta página, no se describen las vistas ni los paneles definidos por el usuario, ya que los usuarios los crean sin usar LookML. Sin embargo, sus consultas se basan en los elementos subyacentes de LookML que se analizan en esta página.
Consulta el glosario de Looker para obtener una lista completa de los términos y las definiciones que se usan en Looker. Para obtener una descripción general completa de los parámetros de LookML que puedes usar en un proyecto de LookML, consulta la página de referencia rápida de LookML.
Consulta la página de documentación Términos y conceptos compartidos de Looker y Looker Studio para obtener información sobre los matices entre términos y conceptos similares en Looker y Looker Studio.
proyecto de LookML
En Looker, un proyecto es una colección de archivos que describen los objetos, las conexiones de bases de datos y los elementos de la interfaz de usuario que se usarán para realizar consultas en SQL. En el nivel más básico, estos archivos describen cómo se relacionan las tablas de tu base de datos entre sí y cómo debe interpretarlas Looker. Los archivos también pueden incluir parámetros de LookML que definen o cambian las opciones que se presentan en la IU de Looker. Cada proyecto de LookML reside en su propio repositorio de Git para el control de versiones.
Una vez que conectes Looker a tu base de datos, podrás especificar la conexión de la base de datos que se usará para tu proyecto de Looker.
Puedes acceder a tus proyectos desde el menú Develop en Looker (consulta Cómo acceder a los archivos del proyecto para obtener detalles y otras opciones).
Consulta la página de documentación Generación de un modelo para obtener información sobre cómo crear un proyecto nuevo y la página de documentación Cómo acceder a la información del proyecto y editarla para obtener información sobre cómo acceder a proyectos de LookML existentes y realizar cambios en ellos.
Partes de un proyecto
Como se muestra en el diagrama, los siguientes son algunos de los tipos de archivos más comunes en un proyecto de LookML:
- Un modelo contiene información sobre qué tablas usar y cómo deben unirse. Aquí, por lo general, definirás el modelo, sus Exploraciones y sus uniones.
- Una vista contiene información sobre cómo acceder a la información de cada tabla (o de varias tablas unidas) o cómo calcularla. Aquí, por lo general, definirás la vista, sus dimensiones y medidas, y sus conjuntos de campos.
- Una exploración suele definirse dentro de un archivo de modelo, pero, a veces, necesitas un archivo de exploración independiente para una tabla derivada o para extender o refinar una exploración en varios modelos.
- Un archivo de manifiesto puede contener instrucciones para usar archivos importados de otro proyecto o para la configuración de localización de tu proyecto.
Además de los archivos de modelo, vista, Explorar y manifiesto, un proyecto puede tener otros tipos de archivos relacionados con elementos como los paneles integrados, la documentación, la localización y mucho más. Consulta la página de documentación de archivos de proyectos de LookML para obtener más información sobre estos tipos de archivos, así como los otros tipos de archivos que puedes tener en tu proyecto de LookML.
En conjunto, estos archivos conforman un proyecto. Si usas Git para el control de versión, cada proyecto suele tener su propio repositorio de Git.
¿De dónde provienen los proyectos y archivos de LookML?
La forma más común de crear archivos de LookML es generar un proyecto de LookML a partir de tu base de datos. También puedes crear un proyecto en blanco y crear manualmente sus archivos de LookML.
Cuando generas un proyecto nuevo a partir de tu base de datos, Looker crea un conjunto de archivos de referencia que puedes usar como plantilla para desarrollar el proyecto:
- Varios archivos de vista, uno para cada tabla de la base de datos
- Un archivo de modelo El archivo del modelo declara un objeto Explore para cada vista. Cada declaración de Explore incluye la lógica
join
para unir cualquier vista que Looker pueda determinar que está relacionada con el Explore.
Desde aquí, puedes personalizar el proyecto quitando las vistas y las Exploraciones no deseadas, y agregando dimensiones y medidas personalizadas.
Estructuras principales de LookML
Como se muestra en el diagrama de las partes de un proyecto, un proyecto suele contener uno o más archivos de modelo, que contienen parámetros que definen un modelo y sus exploraciones y uniones. Además, los proyectos suelen contener uno o más archivos de vista, cada uno con parámetros que definen esa vista y sus campos (incluidas las dimensiones y las métricas) y conjuntos de campos. El proyecto también puede contener un archivo de manifiesto del proyecto, que te permite configurar los parámetros de configuración a nivel del proyecto. En esta sección, se describen esas estructuras principales.
Modelo
Un modelo es un portal personalizado hacia la base de datos, diseñado para proporcionar una exploración de datos intuitiva para usuarios empresariales específicos. Pueden existir varios modelos para la misma conexión de base de datos en un solo proyecto de LookML. Cada modelo puede exponer datos diferentes a distintos usuarios. Por ejemplo, los agentes de ventas necesitan datos diferentes a los de los ejecutivos de la empresa, por lo que probablemente desarrollarías dos modelos para ofrecer vistas de la base de datos adecuadas para cada usuario.
Un modelo especifica una conexión a una sola base de datos. Un desarrollador también define las Exploraciones de un modelo dentro del archivo del modelo. De forma predeterminada, las Exploraciones se organizan según el nombre del modelo en el que se definen. Tus usuarios verán los modelos enumerados en el menú Explorar.
Consulta la página de documentación Tipos de archivos en un proyecto de LookML para obtener más información sobre los archivos de modelo, incluida la estructura y la sintaxis general de los archivos de modelo.
Consulta la página de documentación Parámetros del modelo para obtener detalles sobre los parámetros de LookML que se pueden usar en un archivo de modelo.
Ver
Una declaración de vista define una lista de campos (dimensiones o mediciones) y su vinculación a una tabla subyacente o una tabla derivada. En LookML, una vista suele hacer referencia a una tabla de base de datos subyacente, pero también puede representar una tabla derivada.
Una vista puede unirse a otras vistas. La relación entre las vistas suele definirse como parte de una declaración de Explorar en un archivo de modelo.
De forma predeterminada, los nombres de las vistas aparecen al principio de los nombres de las dimensiones y las métricas en la tabla de datos de Explorar. Esta convención de nomenclatura deja en claro a qué vista pertenece el campo. En el siguiente ejemplo, los nombres de las vistas Orders y Users se enumeran antes de los nombres de los campos en la tabla de datos:
Consulta la documentación de Tipos de archivos en un proyecto de LookML para obtener más información sobre los archivos de vistas, incluida la estructura y la sintaxis general de los archivos de vistas.
Consulta la página de documentación Parámetros de vista para obtener detalles sobre los parámetros de LookML que se pueden usar en un archivo de vista.
Explorar
Una exploración es una vista que los usuarios pueden consultar. Puedes pensar en el Explorar como un punto de partida para una consulta o, en términos de SQL, como el FROM
en una instrucción de SQL. No todas las vistas son de Explorar, ya que no todas describen una entidad de interés. Por ejemplo, una vista de Estados que corresponde a una tabla de búsqueda de nombres de estados no justifica una exploración, ya que los usuarios empresariales nunca necesitan consultarla directamente. Por otro lado, es probable que los usuarios empresariales quieran consultar una vista de Pedidos, por lo que tiene sentido definir un Explore para Pedidos. Consulta la página de documentación Cómo ver las Exploraciones en Looker y cómo interactuar con ellas para obtener información sobre cómo los usuarios interactúan con las Exploraciones para consultar tus datos.
En Looker, tus usuarios pueden ver las Exploraciones que se enumeran en el menú Explorar. Los Explorar se enumeran debajo de los nombres de los modelos a los que pertenecen.
Por convención, los objetos Explore se declaran en el archivo del modelo con el parámetro explore
. En el siguiente ejemplo de un archivo de modelo, la exploración orders
para una base de datos de comercio electrónico se define dentro del archivo de modelo. Las vistas orders
y customers
a las que se hace referencia dentro de la declaración explore
se definen en otro lugar, en sus respectivos archivos de vista.
connection: order_database
include: "filename_pattern"
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
En este ejemplo, el parámetro connection
se usa para especificar la conexión de base de datos para el modelo, y el parámetro include
se usa para especificar los archivos que estarán disponibles para que el modelo haga referencia a ellos.
La declaración explore
en este ejemplo también especifica relaciones de unión entre vistas. Para obtener detalles sobre las declaraciones de join
, visita la sección sobre uniones en esta página. Visita la página de documentación de Parámetros de unión para obtener más detalles sobre los parámetros de LookML que se pueden usar con el parámetro join
.
Campos de dimensión y medición
Las vistas contienen campos, en su mayoría dimensiones y medidas, que son los componentes básicos fundamentales para las búsquedas de Looker.
En Looker, una dimensión es un campo que se puede agrupar y que se puede usar para filtrar los resultados de la consulta. Puede ser cualquiera de los siguientes:
- Un atributo que tiene una asociación directa con una columna en una tabla subyacente
- Un hecho o valor numérico
- Es un valor derivado que se calcula en función de los valores de otros campos en una sola fila.
En Looker, las dimensiones siempre aparecen en la cláusula GROUP BY
del SQL que genera Looker.
Por ejemplo, las dimensiones de una vista de Productos pueden incluir el nombre, el modelo, el color, el precio, la fecha de creación y la fecha de fin de la vida útil del producto.
Una medida es un campo que usa una función de agregación de SQL, como COUNT
, SUM
, AVG
, MIN
o MAX
. Cualquier campo calculado en función de los valores de otras métricas también es una métrica. Las medidas se pueden usar para filtrar valores agrupados. Por ejemplo, las mediciones para una vista de Ventas podrían incluir la cantidad total de artículos vendidos (un recuento), el precio de venta total (una suma) y el precio de venta promedio (un promedio).
El comportamiento y los valores esperados de un campo dependen de su tipo declarado, como string
, number
o time
. En el caso de las medidas, los tipos incluyen funciones de agregación, como sum
y percent_of_previous
. Para obtener más detalles, consulta los tipos de dimensiones y los tipos de medidas.
En Looker, los campos se enumeran en el selector de campos de la página Explorar, que se encuentra en el lado izquierdo de la página. Puedes expandir una vista en el selector de campos para mostrar la lista de campos disponibles para consultar desde esa vista.
Por convención, los campos se declaran como parte de la vista a la que pertenecen y se almacenan en un archivo de vista. En el siguiente ejemplo, se muestran varias declaraciones de dimensiones y medidas. Observa el uso del operador de sustitución ($
) para hacer referencia a los campos sin usar un nombre de columna SQL completamente definido.
A continuación, se incluyen algunos ejemplos de declaraciones de dimensiones y métricas:
view: orders {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: customer_id {
sql: ${TABLE}.customer_id ;;
}
dimension: amount {
type: number
value_format: "0.00"
sql: ${TABLE}.amount ;;
}
dimension_group: created {
type: time
timeframes: [date, week]
sql: ${TABLE}.created_at ;;
}
measure: count {
type: count # creates sql COUNT(orders.id)
sql: ${id} ;;
}
measure: total_amount {
type: sum # creates sql SUM(orders.amount)
sql: ${amount} ;;
}
}
También puedes definir un dimension_group
, que crea varias dimensiones relacionadas con el tiempo a la vez, y campos filter
, que tienen una variedad de casos de uso avanzados, como los filtros basados en plantillas.
Consulta la página de documentación Parámetros de campo para obtener detalles completos sobre la declaración de campos y los distintos parámetros de configuración que se pueden aplicar a ellos.
Uniones
Como parte de una declaración explore
, cada declaración join
especifica una vista que se puede unir a la Exploración. Cuando un usuario crea una consulta que incluye campos de varias vistas, Looker genera automáticamente la lógica de unión de SQL para incorporar todos los campos correctamente.
A continuación, se muestra un ejemplo de una unión en una declaración explore
:
# file: ecommercestore.model.lookml
connection: order_database
include: "filename_pattern" # include all the views
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Para obtener más detalles, consulta la página de documentación Cómo trabajar con combinaciones en LookML.
Archivos de manifiesto del proyecto
Tu proyecto puede contener un archivo de manifiesto del proyecto, que se usa para la configuración a nivel del proyecto, como la especificación de otros proyectos para importar al proyecto actual, la definición de constantes de LookML, la especificación de configuración de localización del modelo y la adición de extensiones y visualizaciones personalizadas a tu proyecto.
Cada proyecto puede tener solo un archivo de manifiesto. El archivo debe llamarse manifest.lkml
y estar ubicado en el nivel raíz de tu repositorio de Git. Cuando uses carpetas en el IDE, asegúrate de que el archivo manifest.lkml
se mantenga en el nivel raíz de la estructura de directorios de tu proyecto.
Para importar archivos de LookML desde otro proyecto, usa el archivo de manifiesto del proyecto para especificar un nombre para tu proyecto actual y la ubicación de los proyectos externos, que se pueden almacenar de forma local o remota. Por ejemplo:
# This project
project_name: "my_project"
# The project to import
local_dependency: {
project: "my_other_project"
}
remote_dependency: ga_360_block {
url: "https://github.com/llooker/google_ga360"
ref: "4be130a28f3776c2bf67a9acc637e65c11231bcc"
}
Después de definir los proyectos externos en el archivo de manifiesto del proyecto, puedes usar el parámetro include
en tu archivo de modelo para agregar archivos de esos proyectos externos a tu proyecto actual. Por ejemplo:
include: "//my_other_project/imported_view.view"
include: "//ga_360_block/*.view"
Para obtener más información, consulta la página de documentación Cómo importar archivos de otros proyectos.
Para agregar localización a tu modelo, usa el archivo de manifiesto del proyecto para especificar la configuración de localización predeterminada. Por ejemplo:
localization_settings: {
default_locale: en
localization_level: permissive
}
Especificar la configuración de localización predeterminada es un paso para localizar tu modelo. Para obtener más información, consulta la página de documentación Cómo localizar tu modelo de LookML.
Establece
En Looker, un conjunto es una lista que define un grupo de campos que se usan juntos. Por lo general, los conjuntos se usan para especificar qué campos se deben mostrar después de que un usuario explora en detalle los datos. Los conjuntos de desglose se especifican campo por campo, por lo que tienes control total sobre los datos que se muestran cuando un usuario hace clic en un valor de una tabla o un panel. Los conjuntos también se pueden usar como una función de seguridad para definir grupos de campos que son visibles para usuarios específicos.
En el siguiente ejemplo, se muestra una declaración de conjunto en una vista order_items
, en la que se definen campos que enumeran detalles relevantes sobre un artículo comprado. Ten en cuenta que los campos de referencia establecidos desde otras vistas especifican el alcance.
set: order_items_stats_set {
fields: [
id, # scope defaults to order_items view
orders.created_date, # scope is "orders" view
orders.id,
users.name,
users.history, # show all products this user has purchased
products.item_name,
products.brand,
products.category,
total_sale_price
]
}
Consulta la página de documentación del parámetro set
para obtener detalles completos sobre el uso de conjuntos.
Desglosar información
En Looker, puedes configurar un campo para que los usuarios puedan explorar los datos en mayor detalle. El desglose funciona tanto en las tablas de resultados de las consultas como en los paneles. La exploración inicia una nueva consulta que está restringida por el valor en el que haces clic.
El comportamiento de la exploración es diferente para las dimensiones y las métricas:
- Cuando profundizas en una dimensión, la nueva consulta se filtra según el valor en el que profundizaste. Por ejemplo, si haces clic en una fecha específica en una búsqueda de pedidos de clientes por fecha, la nueva búsqueda mostrará los pedidos solo en esa fecha específica.
- Cuando profundices en una métrica, la nueva consulta mostrará el conjunto de datos que contribuyó a la métrica. Por ejemplo, cuando profundizas en un recuento, la nueva consulta mostrará las filas para calcular ese recuento. Cuando profundizas en las medidas de máximo, mínimo y promedio, la profundización sigue mostrando todas las filas que contribuyeron a esa medida. Esto significa que, por ejemplo, si profundizas en una medida de máximo, se mostrarán todas las filas que se usaron para calcular el valor máximo, no solo una fila para el valor máximo.
Los campos que se mostrarán para la nueva búsqueda de desglose se pueden definir con un conjunto o con el parámetro drill_fields
(para los campos) o el parámetro drill_fields
(para las vistas).
Tablas derivadas
Una tabla derivada es una consulta cuyos resultados se usan como si fueran una tabla real en la base de datos. Las tablas derivadas se crean con el parámetro derived_table
en una declaración view
. Looker accede a las tablas derivadas como si fueran tablas físicas con su propio conjunto de columnas. Una tabla derivada se expone como su propia vista y define dimensiones y métricas de la misma manera que las vistas convencionales. La vista de una tabla derivada se puede consultar y unir a otras vistas, como cualquier otra vista.
Las tablas derivadas también se pueden definir como tablas derivadas persistentes (PDT), que son tablas derivadas que se escriben en un esquema de trabajo en tu base de datos y se regeneran automáticamente según el programa que especifiques con una estrategia de persistencia.
Consulta la página de documentación Tablas derivadas en Looker para obtener más información.
Conexión a base de datos
Otro elemento importante de un proyecto de LookML es la conexión de base de datos que Looker usa para ejecutar consultas en tu base de datos. Un administrador de Looker usa la página Connections para configurar las conexiones de bases de datos, y los desarrolladores de LookML usan el parámetro connection
en un archivo de modelo para especificar qué conexión usar para el modelo. Si generas un proyecto de LookML a partir de tu base de datos, Looker completará automáticamente el parámetro connection
en el archivo del modelo.
Distinción de mayúsculas
LookML distingue mayúsculas de minúsculas, así que asegúrate de que coincidan cuando hagas referencia a elementos de LookML. Looker te alerta si hiciste referencia a un elemento que no existe.
Por ejemplo, supongamos que tienes una exploración llamada e_flights_pdt
y un desarrollador de LookML usa mayúsculas incorrectas (e_FLIGHTS_pdt
) para hacer referencia a esa exploración. En este ejemplo, el IDE de Looker muestra una advertencia que indica que no existe el Explorar e_FLIGHTS_pdt
. Además, el IDE sugiere el nombre de una exploración existente, que es e_flights_pdt
:
Sin embargo, si tu proyecto contenía e_FLIGHTS_pdt
y e_flights_pdt
, el IDE de Looker no podría corregirte, por lo que deberías asegurarte de qué versión querías usar. En general, es una buena idea usar solo letras minúsculas cuando se nombran objetos LookML.
Los nombres de las carpetas del IDE también distinguen mayúsculas de minúsculas. Debes hacer coincidir el uso de mayúsculas en los nombres de las carpetas cada vez que especifiques rutas de acceso a archivos. Por ejemplo, si tienes una carpeta llamada Views
, debes usar la misma capitalización en el parámetro include
. Nuevamente, el IDE de Looker indicará un error si el uso de mayúsculas y minúsculas no coincide con una carpeta existente en tu proyecto: