Términos y conceptos de LookML

En esta página, se definen los siguientes términos y conceptos básicos, que es probable que encuentres con frecuencia durante el desarrollo de LookML:

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 Guía de consulta rápida de LookML.

Consulta la página de documentación Términos y conceptos compartidos entre 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 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 Looker debe interpretarlas. 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 usarás para tu proyecto de Looker.

Puedes acceder a tus proyectos desde el menú Desarrollo en Looker (consulta Cómo acceder a los archivos de proyecto para obtener detalles y otras opciones).

Consulta la página de documentación Cómo generar 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 de un 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

Un proyecto de LookML puede contener modelos, vistas y paneles de LookML, cada uno de los cuales está compuesto por otros elementos de LookML.

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. Por lo general, aquí definirás el modelo, sus Exploraciones y sus combinaciones.
  • Una vista contiene información sobre cómo acceder a la información de cada tabla (o a varias tablas unidas) o cómo calcularla. Por lo general, aquí definirás la vista, sus dimensiones y mediciones, y sus conjuntos de campos.
  • A menudo, se define una Exploración dentro de un archivo de modelo, pero, a veces, necesitas un archivo de exploración independiente para una tabla derivada o para extender o definir mejor 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 paneles integrados, documentación, localización y mucho más. Consulta la página de documentación Archivos de proyectos de LookML para obtener más información sobre estos tipos de archivos y los otros que puedes tener en tu proyecto de LookML.

En conjunto, estos archivos forman un proyecto. Si usas Git para el control de versión, cada proyecto suele tener una copia de seguridad en 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 sus archivos de LookML de forma manual.

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 compilar el proyecto:

  • Varios archivos de vista, uno para cada tabla de la base de datos
  • Un archivo model El archivo del modelo declara un Explorar para cada vista. Cada declaración de Explorar incluye la lógica de join para unir cualquier vista que Looker pueda determinar que está relacionada con la exploración.

Desde aquí, puedes personalizar el proyecto quitando vistas y 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 combinaciones. Además, los proyectos suelen contener uno o más archivos de vista, cada uno de los cuales contiene parámetros que definen esa vista y sus campos (incluidas las dimensiones y las medidas) y conjuntos de campos. El proyecto también puede contener un archivo de manifiesto del proyecto, que te permite configurar la configuración a nivel del 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 proporcionar una exploración de datos intuitiva a 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 diferentes 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. Los usuarios ven 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 modelos 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 medidas) y su vinculación a una tabla subyacente o 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 Explore en un archivo de modelo.

De forma predeterminada, los nombres de las vistas aparecen al comienzo de los nombres de las dimensiones y las métricas en la tabla Explorar datos. Esta convención de nombres deja claro a qué vista pertenece el campo. En el siguiente ejemplo, los nombres de vista Pedidos y Usuarios aparecen antes de los nombres de los campos en la tabla de datos:

Tabla de datos de una consulta de muestra con los campos Fecha de creación de pedidos, ID de usuario y Cantidad de pedidos seleccionados.

Consulta la documentación Tipos de archivos en 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 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 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 exploración, ya que no todas describen una entidad de interés. Por ejemplo, una vista Estados que corresponde a una tabla de consulta de nombres de estados no garantiza 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 una exploración para Pedidos. Consulta la página de documentación Cómo ver y explorar exploraciones en Looker para obtener información sobre cómo los usuarios interactúan con las 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 orders Explorar para una base de datos de comercio electrónico dentro del archivo de modelo. Las vistas orders y customers a las que se hace referencia en 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 la 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.

La declaración explore en este ejemplo también especifica las relaciones de unión entre las vistas. Para obtener más información sobre las declaraciones de join, consulta la sección sobre uniones en esta página. Visita la página de documentación 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 de las consultas de Looker.

En Looker, una dimensión es un campo que se puede agrupar y 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 en una tabla subyacente
  • Un hecho o un valor numérico
  • Un valor derivado, calculado 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 de la 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 vida 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 medidas también es una medida. Las medidas se pueden usar para filtrar valores agrupados. Por ejemplo, las medidas de una vista de Ventas pueden incluir el 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 información, consulta los tipos de dimensiones y los tipos de medidas.

En Looker, los campos se muestran en la página Explorar en el selector de campos 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 de el operador de sustitución ($) para hacer referencia a campos sin usar un nombre de columna de SQL con alcance completo.

Estos son algunos ejemplos de declaraciones de dimensiones y medidas:

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 con plantillas.

Consulta la página de documentación Parámetros de campo para obtener detalles completos sobre la declaración de campos y los diversos 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 Explorar. 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.

Este es un ejemplo de 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 importarlos al proyecto actual, definir constantes de LookML, especificar la configuración de localización del modelo y agregar extensiones y visualizaciones personalizadas a tu proyecto.

Cada proyecto puede tener un solo archivo de manifiesto. El archivo debe llamarse manifest.lkml y debe ubicarse 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 en la localización de 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 mostrarán después de que un usuario desglose 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 que define campos que enumeran detalles relevantes sobre un artículo comprado. Ten en cuenta que el conjunto de campos de referencias de otras vistas especifica 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 los conjuntos.

Desglosar información

En Looker, puedes configurar un campo para que los usuarios puedan desglosar aún más los datos. El desglose funciona en las tablas de resultados de las consultas y en los paneles. El desglose inicia una nueva consulta que se restringe según el valor en el que hagas clic.

El comportamiento de desglose es diferente para las dimensiones y las medidas:

  • Cuando desglosas una dimensión, la nueva consulta filtra el valor desglosado. Por ejemplo, si haces clic en la fecha específica en una consulta de pedidos de clientes por fecha, la nueva consulta mostrará los pedidos solo en esa fecha específica.
  • Cuando desgloses una métrica, la consulta nueva mostrará el conjunto de datos que contribuyó a la métrica. Por ejemplo, cuando desgloses un recuento, la consulta nueva mostrará las filas para calcular ese recuento. Cuando se desglosan las medidas máximas, mínimas y promedio, el desglose aún muestra todas las filas que contribuyeron a esa medida. Esto significa que, por ejemplo, desglosar una métrica máxima muestra 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 consulta de desglose se pueden definir con un conjunto o con el parámetro drill_fields (para campos) o el parámetro drill_fields (para vistas).

Tablas derivadas

Una tabla derivada es una consulta cuyos resultados se usan como si fuera 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 medidas 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 en blanco en tu base de datos y se vuelven a generar automáticamente en 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 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 usar para el modelo. Si generas un proyecto de LookML a partir de tu base de datos, Looker propaga 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 el uso de mayúsculas de los elementos de LookML sea el correcto. Looker te alerta si te refieres 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 de que no existe el e_FLIGHTS_pdt de Explorar. Además, el IDE sugiere el nombre de una exploración existente, que es e_flights_pdt:

Sin embargo, si tu proyecto contiene e_FLIGHTS_pdt y e_flights_pdt, el IDE de Looker no podrá corregirte, por lo que deberás asegurarte de la versión que deseas usar. Por lo general, es recomendable usar minúsculas cuando se asignan nombres a los objetos de LookML.

Los nombres de las carpetas del IDE también distinguen mayúsculas de minúsculas. Debes hacer coincidir el uso de mayúsculas de los nombres de carpetas cada vez que especifiques rutas de acceso de archivos. Por ejemplo, si tienes una carpeta llamada Views, debes usar esta misma mayúscula en el parámetro include. Una vez más, el IDE de Looker indicará un error si la mayúscula no coincide con una carpeta existente en tu proyecto:

El IDE de Looker muestra una advertencia que indica que la inclusión no coincide con ningún archivo.