En esta página se definen los siguientes términos y conceptos básicos, que probablemente encontrarás a menudo durante el desarrollo de LookML:
- Proyectos de LookML
- Estructuras principales de LookML (como modelos, vistas y Exploraciones)
- Tablas derivadas
- Conexiones de bases de datos
- Distinción entre mayúsculas y minúsculas
En esta página no se describen los looks 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 de LookML subyacentes que se describen en esta página.
Consulta el glosario de Looker para ver 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 sobre términos y conceptos comunes de Looker y Looker Studio para obtener información sobre las diferencias 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 llevar a cabo consultas de SQL. En el nivel más básico, estos archivos describen cómo se relacionan entre sí las tablas de tu base de datos y cómo debe interpretarlas Looker. Los archivos también pueden incluir parámetros de LookML que definan o cambien las opciones que se muestran en la interfaz de usuario 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 quieras usar en tu proyecto de Looker.
Puedes acceder a tus proyectos desde el menú Desarrollar de Looker (consulta Acceder a archivos de proyecto para obtener más información y otras opciones).
Consulta la página de documentación Generar un modelo para obtener información sobre cómo crear un proyecto y la página de documentación Acceder a la información de un proyecto y editarla para obtener información sobre cómo acceder a proyectos de LookML y modificarlos.
Partes de un proyecto
Como se muestra en el diagrama, estos son algunos de los tipos de archivos más habituales en un proyecto de LookML:
- Un modelo contiene información sobre las tablas que se deben usar y cómo se deben combinar. Aquí se suelen definir el modelo, sus Exploraciones y sus combinaciones.
- Una vista contiene información sobre cómo acceder a la información de cada tabla (o de varias tablas combinadas) o calcularla. Aquí se suelen definir la vista, sus dimensiones y medidas, y sus conjuntos de campos.
- Un Explorar se suele definir en un archivo de modelo, pero a veces necesitas un archivo Explorar independiente para una tabla derivada o para ampliar o refinar un Explorar 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 de control integrados, la documentación, la localización y más. Consulta la página de documentación sobre los archivos de proyecto de LookML para obtener más información sobre estos tipos de archivos, así como sobre los demás tipos de archivos que puedes tener en tu proyecto de LookML.
Estos archivos forman un proyecto. Si usas Git para el control de versiones, cada proyecto suele tener una copia de seguridad en su propio repositorio de Git.
¿De dónde proceden los proyectos y los archivos de LookML?
La forma más habitual de crear archivos 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 LookML.
Cuando generas un proyecto 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 por cada tabla de la base de datos.
- Un archivo model. El archivo de modelo declara una Exploración para cada vista. Cada declaración de Exploración incluye la lógica
join
para unir cualquier vista que Looker pueda determinar que está relacionada con la Exploración.
Desde aquí, puede personalizar el proyecto quitando las vistas y las exploraciones que no quiera, así como añadiendo dimensiones y métricas personalizadas.
Estructuras principales de LookML
Como se muestra en las partes de un diagrama de proyecto, un proyecto suele contener uno o varios archivos de modelo, que contienen parámetros que definen un modelo y sus Exploraciones y combinaciones. Además, los proyectos suelen contener uno o varios archivos de vista, cada uno de los cuales incluye parámetros que definen la 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 ajustes a nivel de proyecto. En esta sección se describen esas estructuras principales.
Modelo
Un modelo es un portal personalizado a la base de datos diseñado para ofrecer una exploración de datos intuitiva a usuarios empresariales específicos. Puede haber 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ía 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 en el archivo de modelo. De forma predeterminada, las Exploraciones se organizan en el modelo en el que se definen. Tus usuarios verán los modelos 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 de modelo para obtener información 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 medidas) y su vinculación a una tabla subyacente o a 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 vistas suele definirse como parte de una declaración 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 medidas en la tabla de datos de Exploración. Esta convención de nomenclatura deja claro a qué vista pertenece el campo. En el ejemplo siguiente, los nombres de las vistas Pedidos y Usuarios se muestran antes de los nombres de los campos de la tabla de datos:
Consulta la documentación sobre los tipos de archivos de un proyecto de LookML para obtener más información sobre los archivos de vista, incluida la estructura y la sintaxis general de los archivos de vista.
Consulta la página de documentación Parámetros de vista para obtener información 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 considerar la exploración como el punto de partida de una consulta o, en términos de SQL, como la parte FROM
de una instrucción SQL. No todas las visualizaciones son Exploraciones, ya que no todas describen una entidad de interés. Por ejemplo, una vista Estados que corresponda a una tabla de consulta de nombres de estados no justifica un Explorar, ya que los usuarios empresariales nunca necesitan consultarla directamente. Por otro lado, los usuarios empresariales probablemente quieran consultar una vista Pedidos, por lo que tiene sentido definir un Explorar para Pedidos. Consulta la página de documentación Ver e interactuar con Exploraciones en Looker para obtener información sobre cómo interactúan los usuarios con Exploraciones para consultar tus datos.
En Looker, los usuarios pueden ver las exploraciones en el menú Explorar. Las exploraciones se muestran debajo de los nombres de los modelos a los que pertenecen.
Por convención, las Exploraciones se declaran en el archivo de modelo con el parámetro explore
. En el siguiente ejemplo de un archivo de modelo, se define la Exploración orders
de una base de datos de comercio electrónico en el archivo de modelo. Las vistas orders
y customers
a las que se hace referencia en la declaración explore
se definen en otra parte, 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 del modelo, y el parámetro include
se usa para especificar los archivos a los que podrá hacer referencia el modelo.
La declaración explore
de este ejemplo también especifica las relaciones de unión entre vistas. Para obtener más información sobre las declaraciones de join
, consulta la sección sobre uniones de esta página. Visita la página de documentación Parámetros de unión para obtener más información sobre los parámetros de LookML que se pueden usar con el parámetro join
.
Campos de dimensión y medida
Las vistas contienen campos, principalmente dimensiones y medidas, que son los elementos básicos de las consultas de Looker.
En Looker, una dimensión es un campo que se puede agrupar y que se puede usar para filtrar los resultados de las consultas. Puede ser cualquiera de los siguientes:
- Un atributo que tiene una asociación directa con una columna de una tabla subyacente
- Un hecho o un valor numérico
- Valor derivado, calculado a partir de los valores de otros campos de 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 Productos pueden incluir el nombre, el modelo, el color, el precio, la fecha de creación y la fecha de fin de ciclo de vida de los productos.
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 a partir de los valores de otras medidas también es una medida. Las medidas se pueden usar para filtrar valores agrupados. Por ejemplo, las medidas de una vista Ventas pueden incluir el total de artículos vendidos (un recuento), el precio total de venta (una suma) y el precio medio de venta (una media).
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 información, consulte los tipos de dimensión y los tipos de medida.
En Looker, los campos se muestran en la página Explorar, en el selector de campos situado en la parte izquierda de la página. Puedes desplegar una vista en el selector de campos para ver la lista de campos que se pueden consultar en 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. Fíjate en el uso del operador de sustitución ($
) para hacer referencia a los campos sin usar un nombre de columna de SQL con ámbito completo.
A continuación, se muestran 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 varios casos prácticos avanzados, como los filtros basados en plantillas.
Consulta la página de documentación Parámetros de campo para obtener información detallada sobre cómo declarar campos y los distintos ajustes que se les pueden aplicar.
Uniones
Como parte de una declaración explore
, cada declaración join
especifica una vista que se puede combinar en la Exploración. Cuando un usuario crea una consulta que incluye campos de varias vistas, Looker genera automáticamente una lógica de unión de SQL para incluir todos los campos correctamente.
Aquí tienes 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 información, consulta la página de documentación Trabajar con combinaciones en LookML.
Archivos de manifiesto de proyectos
Tu proyecto puede contener un archivo de manifiesto del proyecto, que se usa para la configuración a nivel de proyecto, como la especificación de otros proyectos que se van a importar al proyecto actual, la definición de constantes de LookML, la especificación de configuración de localización de modelos y la adición de extensiones y visualizaciones personalizadas a tu proyecto.
Cada proyecto solo puede tener un archivo de manifiesto. El archivo debe llamarse manifest.lkml
y estar ubicado en el nivel raíz del 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 LookML de 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 pueden almacenarse 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 añadir archivos de esos proyectos externos al 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 Importar archivos de otros proyectos.
Para añadir la localización a tu modelo, usa el archivo de manifiesto del proyecto para especificar los ajustes de localización predeterminados. Por ejemplo:
localization_settings: {
default_locale: en
localization_level: permissive
}
Especificar la configuración de localización predeterminada es uno de los pasos para localizar un modelo. Para obtener más información, consulta la página de documentación Localizar tu modelo de LookML.
Sets
En Looker, un conjunto es una lista que define un grupo de campos que se usan juntos. Normalmente, los conjuntos se usan para especificar qué campos se deben mostrar después de que un usuario desglose los datos. Los conjuntos de desgloses 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 de control. Los conjuntos también se pueden usar como medida de seguridad para definir grupos de campos que sean 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 los detalles relevantes sobre un artículo comprado. Ten en cuenta que el conjunto hace referencia a los campos de otras vistas especificando el ámbito.
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 información completa sobre el uso de conjuntos.
Desglosar información
En Looker, puede configurar un campo para que los usuarios puedan desglosar los datos. Puedes desglosar la información tanto en las tablas de resultados de las consultas como en los paneles de control. Al desglosar la información, se inicia una nueva consulta restringida por el valor en el que haces clic.
El comportamiento de desglose es diferente en las dimensiones y las medidas:
- Cuando desglosas una dimensión, la nueva consulta se filtra por el valor desglosado. Por ejemplo, si hace clic en una fecha concreta en una consulta de pedidos de clientes por fecha, la nueva consulta mostrará los pedidos solo de esa fecha.
- Al desglosar una medida, la nueva consulta mostrará el conjunto de datos que ha contribuido a la medida. Por ejemplo, al desglosar un recuento, la nueva consulta mostrará las filas para calcular ese recuento. Al desglosar las medidas máximas, mínimas y medias, se siguen mostrando todas las filas que han contribuido a esa medida. Esto significa que, al desglosar una medida máxima, por ejemplo, se muestran todas las filas que se han usado para calcular el valor máximo, no solo una fila con el valor máximo.
Los campos que se mostrarán en la nueva consulta de desglose se pueden definir mediante un conjunto o mediante 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 fuera una tabla real de la base de datos. Las tablas derivadas se crean mediante 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 una vista propia y define dimensiones y medidas de la misma forma que las vistas convencionales. La vista de una tabla derivada se puede consultar y combinar con otras vistas, como cualquier otra vista.
Las tablas derivadas también se pueden definir como tablas derivadas persistentes (PDTs), que son tablas derivadas que se escriben en un esquema provisional de tu base de datos y se regeneran automáticamente según la programación 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 de base de datos
Otro elemento importante de un proyecto de LookML es la conexión de base de datos que usa Looker para ejecutar consultas en tu base de datos. Un administrador de Looker usa la página Conexiones 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 se debe usar en el modelo. Si generas un proyecto de LookML a partir de tu base de datos, Looker rellenará automáticamente el parámetro connection
en el archivo de modelo.
Distinción entre mayúsculas y minúsculas
LookML distingue entre mayúsculas y minúsculas, así que asegúrese de que el nombre que escriba coincida exactamente con el del elemento de LookML al que hace referencia. Looker te avisa si has hecho referencia a un elemento que no existe.
Por ejemplo, supongamos que tienes una instancia de Explore llamada e_flights_pdt
y un desarrollador de LookML usa mayúsculas incorrectas (e_FLIGHTS_pdt
) para hacer referencia a esa instancia de Explore. En este ejemplo, el IDE de Looker muestra una advertencia de que el Explore e_FLIGHTS_pdt
no existe. Además, el IDE sugiere el nombre de una exploración, que es e_flights_pdt
:
Sin embargo, si tu proyecto contenía tanto e_FLIGHTS_pdt
como e_flights_pdt
, el IDE de Looker no podría corregirte, por lo que tendrías que asegurarte de qué versión querías usar. Por lo general, es recomendable usar minúsculas al asignar nombres a objetos LookML.
Los nombres de las carpetas del IDE también distinguen entre mayúsculas y minúsculas. Debes respetar las mayúsculas y minúsculas de los nombres de las carpetas cuando especifiques rutas de archivos. Por ejemplo, si tienes una carpeta llamada Views
, debes usar las mismas mayúsculas y minúsculas en el parámetro include
. De nuevo, el IDE de Looker indicará un error si las mayúsculas y minúsculas no coinciden con las de una carpeta de tu proyecto: