Introducción a LookML

LookML, que es la forma abreviada de Looker Modeling Language, es el lenguaje que se usa en Looker para crear modelos de datos semánticos. Puedes usar LookML para describir dimensiones, agregaciones, cálculos y relaciones de datos en tu base de datos de SQL. Looker usa un modelo que está escrito en LookML para crear consultas en SQL en una base de datos en particular.

LookML es un lenguaje de dependencia como make, a diferencia de un lenguaje imperativo como C o Ruby. LookML proporciona tipos de datos y sintaxis predefinidos para el modelado de datos. No necesitas experiencia previa con lenguajes de programación para comprender LookML. LookML es independiente de dialectos de SQL particulares y encapsula expresiones SQL para admitir cualquier implementación de SQL.

Para los analistas de datos, LookML fomenta el estilo DRY ("no te repitas"), lo que significa que debes escribir expresiones SQL una vez, en un solo lugar,y Looker usa el código de forma reiterada para generar consultas en SQL ad hoc. Los usuarios empresariales pueden usar los resultados para crear consultas complejas en Looker y enfocarse solo en el contenido que necesitan, no en las complejidades de la estructura SQL.

Proyectos de LookML

LookML se define en proyectos. Un proyecto de LookML es una colección de archivos que incluye, al menos, archivos de modelo y vista, y, opcionalmente, otros tipos de archivos que, por lo general, se controlan juntos a través de un repositorio de Git. Los archivos de modelo contienen información sobre las tablas que usará el proyecto y cómo se deben unir las tablas. Los archivos de vista describen cómo se calcula la información sobre cada tabla (o en varias tablas, si las uniones lo permiten).

LookML separa la estructura del contenido, por lo que la estructura de la consulta (cómo se unen las tablas) es independiente del contenido de la consulta (las columnas a las que se accede, los campos derivados, las funciones de agregación para procesar y las expresiones de filtrado para aplicar).

Las consultas de Looker se basan en archivos de proyectos de LookML. Los analistas de datos usan LookML para crear y mantener modelos de datos que definan la estructura de datos y las reglas empresariales para los datos que se analizan. El generador de SQL de Looker traduce LookML a SQL, lo que permite a los usuarios empresariales realizar consultas sin escribir LookML ni SQL

Los usuarios empresariales usan el compilador de consultas de Looker, o la interfaz de Explorar, para crear consultas basadas en el modelo de datos que definen los analistas de Looker. Los usuarios pueden seleccionar dimensiones, mediciones y filtros para crear consultas personalizadas que se basan en sus propias preguntas y generar sus propias estadísticas.

Cuando un usuario crea una consulta, se envía al generador de SQL de Looker, que la traduce a SQL. La consulta en SQL se ejecuta en la base de datos y, luego, Looker muestra los resultados con formato al usuario en la interfaz Explorar. Luego, el usuario puede visualizar los resultados y generar estadísticas.

Para obtener más detalles sobre los elementos fundamentales de LookML en un proyecto y cómo se relacionan entre sí, consulta Términos y conceptos de LookML.

Qué ven los usuarios

La configuración del proyecto y el contenido específico de sus archivos determinan qué ven los usuarios y cómo pueden interactuar con Looker.

  1. El panel Explorar en el panel de navegación izquierdo está organizado por nombres de model. Debajo de cada nombre de modelo, verás una lista de las Exploraciones disponibles que se definen en ese modelo.
  2. Los usuarios pueden buscar una exploración específica.
  3. Los desarrolladores pueden definir descripciones para las exploraciones, que los usuarios pueden ver si colocan el cursor sobre el nombre de la exploración en el menú Explorar.

  4. El panel del selector de campos está organizado por nombres de vistas. Debajo de cada nombre de vista, verás una lista de los campos disponibles de las tablas incluidas en ella. La mayoría de las vistas muestran dimensiones y medidas. En este ejemplo, se selecciona una dimensión Mes de un grupo de dimensiones Fecha de devolución, que se definió en el archivo de vista.

  5. Los usuarios pueden seleccionar varias mediciones en las que basar la consulta.

  6. Los usuarios pueden aplicar opciones como filtros y elementos dinámicos en el panel del selector de campos.

  7. Los usuarios pueden definir mejor los términos de la consulta.

  8. Los usuarios pueden elegir un tipo de visualización para aplicar a los resultados de la consulta.

  9. Cuando ejecutas esta exploración, se genera una consulta en SQL que devuelve una tabla de datos y una visualización del precio de venta total y el margen bruto total de los pedidos devueltos del año pasado.

Muestra de código

En el siguiente ejemplo de código, se muestra un proyecto mínimo de LookML para una tienda de comercio electrónico, que tiene un archivo de modelo (ecommercestore.model.lkml) y dos archivos de vista (orders.view.lkml y customers.view.lkml):

######################################
# FILE: ecommercestore.model.lkml    #
# Define the explores and join logic #
######################################
connection: order_database
include: "*.view.lkml"
explore: orders {
  join: customers {
    sql_on: ${orders.customer_id} = ${customers.id} ;;
  }
}

##########################################################
# FILE: orders.view.lkml                                 #
# Define the dimensions and measures for the ORDERS view #
##########################################################
view: orders {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
  dimension: customer_id {      # field: orders.customer_id
    sql: ${TABLE}.customer_id ;;
  }
  dimension: amount {           # field: orders.amount
    type: number
    value_format: "0.00"
    sql: ${TABLE}.amount ;;
  }
  dimension_group: created {                # generates fields:
    type: time                              # orders.created_time, orders.created_date
    timeframes: [time, date, week, month]   # orders.created_week, orders.created_month
    sql: ${TABLE}.created_at ;;
  }
  measure: count {             # field: orders.count
    type: count                # creates a sql COUNT(*)
    drill_fields: [drill_set*] # list of fields to show when someone clicks 'ORDERS Count'
  }
  measure: total_amount {
    type: sum
    sql: ${amount} ;;
  }
  set: drill_set {
    fields: [id, created_time, customers.name, amount]
  }
}

#############################################################
# FILE: customers.view.lkml                                 #
# Define the dimensions and measures for the CUSTOMERS view #
#############################################################
view: customers {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
  dimension: city {                    # field: customers.city
    sql: ${TABLE}.city ;;
  }
  dimension: state {                   # field: customers.state
    sql: ${TABLE}.state ;;
  }
  dimension: name {
    sql: CONCAT(${TABLE}.firstname, " ", ${TABLE}.lastname) ;;
  }
  measure: count {             # field: customers.count
    type: count                # creates a sql COUNT(*)
    drill_fields: [drill_set*] # fields to show when someone clicks 'CUSTOMERS Count'
  }
  set: drill_set {                     # set: customers.drill_set
    fields: [id, state, orders.count]  # list of fields to show when someone clicks 'CUSTOMERS Count'
  }
}

Recursos adicionales

Si no tienes experiencia en el desarrollo de LookML, considera usar los recursos descritos en las siguientes secciones para acelerar tu aprendizaje:

Obtén acceso al entorno de aprendizaje de Looker

Consulta los cursos en Google Cloud Skills Boost.

Aprende a usar Looker para consultar y explorar datos

Saber cómo explorar datos en Looker te ayudará mucho cuando modeles tus datos en LookML. Si no sabes cómo usar Looker para consultar, filtrar y profundizar en los datos, te sugerimos los siguientes recursos:

Revisa los conceptos básicos de SQL antes de sumergirte en LookML

Escribir LookML requiere comprender las consultas en SQL. No es necesario que seas experto en SQL. Incluso los principiantes pueden crear modelos potentes de Looker. Pero, en general, cuanto más profundices en LookML, más te beneficiarás de un conocimiento más profundo de SQL.

Si necesitas un repaso de SQL, estos son algunos de nuestros recursos favoritos:

Aprende los aspectos básicos de LookML

Estos recursos iniciarán tu conocimiento sobre LookML. Usa tu cuenta de aprendizaje para experimentar con diferentes patrones de diseño.

Después de que conozcas los conceptos básicos de LookML, consulta las siguientes páginas para obtener descripciones generales de los diferentes tipos de parámetros de LookML: