LookML est l'acronyme de Looker Modeling Language. Il s'agit du langage utilisé par Looker pour créer des modèles de données sémantiques. Vous pouvez utiliser LookML pour décrire des dimensions, des agrégations, des calculs et des relations de données dans votre base de données SQL. Looker crée des requêtes SQL sur une base de données particulière à l'aide d'un modèle écrit en LookML.
LookML est un langage de dépendance tel que make, par opposition à un langage impératif comme C ou Ruby. LookML fournit des types de données et une syntaxe prédéfinis pour la modélisation des données. La structure de la syntaxe LookML est claire et facile à apprendre. (Vous n'avez pas besoin d'avoir une expérience préalable des langages de programmation pour comprendre LookML. Tout ce que vous devez savoir est présenté ici.) LookML est indépendant de dialectes SQL spécifiques et encapsule les expressions SQL compatibles avec toutes les implémentations SQL.
Pour les analystes de données, LookML favorise le style DRY ("ne pas répéter") qui consiste à écrire des expressions SQL une fois, au même endroit, et que Looker utilise le code à plusieurs reprises pour générer des requêtes SQL ad hoc. Les utilisateurs professionnels peuvent ensuite utiliser ces résultats pour créer des requêtes complexes dans Looker, en se concentrant uniquement sur le contenu dont ils ont besoin, et non sur la complexité de la structure SQL.
Projets LookML
LookML est défini dans les projets. Un projet LookML est une collection de fichiers incluant au moins des fichiers de modèle et d'affichage, et éventuellement d'autres types de fichiers, généralement contrôlés ensemble par un dépôt Git. Les fichiers de modèle contiennent des informations sur les tables qui seront utilisées par le projet et sur la manière dont elles doivent être jointes. Les fichiers de vue décrivent comment les informations sont calculées sur chaque table (ou dans plusieurs tables si les jointures le permettent).
LookML sépare la structure du contenu, de sorte que la structure des requêtes (la manière dont les tables sont jointes) est indépendante de leur contenu (les colonnes auxquelles accéder, les champs dérivés, les fonctions d'agrégation à calculer et les expressions de filtrage à appliquer).
Le schéma suivant illustre les éléments LookML fondamentaux d'un projet et leurs relations. Pour en savoir plus, consultez les termes et concepts LookML.
Ce que voient les utilisateurs
La configuration du projet et le contenu spécifique de ses fichiers déterminent ce que les utilisateurs voient et comment ils peuvent interagir avec Looker.
- Le menu Explorer est organisé par nom de modèle. Sous chaque nom de modèle se trouve une liste des explorations disponibles définies dans ce modèle.
- Les utilisateurs peuvent effectuer une recherche dans le menu s'ils connaissent le nom de l'exploration qu'ils souhaitent.
Les développeurs peuvent inclure des descriptions pour les explorations, qui s'affichent lorsque les utilisateurs passent la souris dessus. Cet exemple présente une exploration appelée Items de commande.
Le volet Sélecteur de champs est organisé en fonction des noms de vue. Sous chaque nom de vue, se trouve une liste des champs disponibles dans les tables incluses dans cette vue. La plupart des vues affichent des dimensions et des mesures. Cet exemple sélectionne une dimension Mois à partir d'un groupe de dimensions Date de retour, qui a été défini dans le fichier de vues.
Les utilisateurs peuvent sélectionner plusieurs mesures sur lesquelles baser la requête.
Les utilisateurs peuvent appliquer des options telles que des filtres et des tableaux croisés dynamiques dans le volet de l'outil de sélection des champs.
Les utilisateurs peuvent affiner les termes de la requête.
Les utilisateurs peuvent choisir un type de visualisation à appliquer aux résultats de la requête.
En exécutant cette exploration, vous générez une requête SQL qui renvoie à la fois un tableau de données et une visualisation du prix soldé total et de la marge brute totale des commandes renvoyées au cours de l'année précédente.
Exemple de code
L'exemple de code suivant illustre un projet LookML minimal pour une boutique d'e-commerce, qui comporte un fichier de modèle (ecommercestore.model.lkml
) et deux fichiers de vue (orders.view.lkml
et 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'
}
}
Autres ressources
Si vous débutez dans le développement de LookML, envisagez d'utiliser les ressources décrites dans les sections suivantes pour accélérer votre apprentissage:
- Accéder à l'environnement d'apprentissage de Looker
- Découvrez comment utiliser Looker pour interroger et explorer des données.
- Consultez les principes de base de SQL avant de vous familiariser avec LookML.
- Découvrez les principes de base de LookML
- Envisager d'entraîner Looker
Accéder à l'environnement d'apprentissage de Looker
Découvrez les cours de Google Cloud Skills Boost.
Apprendre à utiliser Looker pour interroger et explorer les données
Savoir explorer les données dans Looker vous aidera à modéliser vos données dans LookML. Si vous ne savez pas comment utiliser Looker pour interroger, filtrer et explorer des données, nous vous suggérons les ressources suivantes:
- Commencez par suivre les tutoriels Récupérer et représenter des données graphique. Les liens au bas de chaque page vous guideront à travers les principales fonctionnalités de Looker.
- La quête de la série "Explorer les données avec Looker" vous fera découvrir les principes de base de l'exploration.
Passez en revue les principes de base de SQL avant de vous intéresser à LookML.
L'écriture de code LookML exige de comprendre les requêtes SQL. Vous n'avez pas besoin d'être un expert en SQL, et même les débutants peuvent créer des modèles Looker puissants. De solides connaissances en SQL constituent néanmoins un avantage pour tirer le meilleur parti de LookML.
Si une remise à niveau SQL s'impose, voici quelques-unes de nos ressources préférées :
- Tutoriels SQL interactifs de la Khan Academy Lessons
- Tutoriels SQL interactifs sur SQLZoo
- Sams Teach Yourself SQL in 10 minutes (en anglais) de Ben Forta
Découvrir les principes de base de LookML
Ces ressources accélèreront votre acquisition de connaissances LookML. Servez-vous de votre compte de formation pour tester différents modèles de conception.
- Commencez par les termes et concepts LookML.
- Passez à la section Comment Looker génère les concepts SQL et Concepts avancés de ML.
- Une fois que vous en savez plus sur LookML et SQL, découvrez nos fonctionnalités plus avancées telles que les tables dérivées et les filtres modélisés.
Une fois que vous avez appris les bases de LookML, consultez les pages suivantes:
- Paramètres du modèle
- Explorer les paramètres
- Paramètres de jointure
- Afficher les paramètres
- Paramètres des champs
- Paramètres du tableau de bord