BigQuery est la base de données d'analyse NoOps, économique et entièrement gérée de Google. Avec BigQuery, vous pouvez interroger plusieurs téraoctets de données sans avoir à gérer d'infrastructure ni faire appel à un administrateur de base de données. Basé sur le langage SQL et le modèle de paiement à l'usage, BigQuery BigQuery vous permet de vous concentrer sur l'analyse des données pour en dégager des insights pertinents.
Un nouvel ensemble de données d'e-commerce contenant des millions d'enregistrements Google Analytics pour Google Merchandise Store a été importé dans BigQuery. Pour cet atelier, vous disposez d'une copie de cet ensemble de données, et vous allez explorer les champs et les lignes qu'il contient afin d'obtenir des renseignements.
Cet atelier vous aide à comprendre la logique à suivre pour corriger des requêtes. Les activités sont réalisées dans le contexte d'un scénario réel. Tout au long de cet atelier, imaginez que vous travaillez avec un analyste de données qui a récemment intégré votre équipe. Celui-ci vous a transmis les requêtes ci-après devant permettre de répondre à certaines questions sur votre ensemble de données d'e-commerce. À l'aide des réponses, corrigez ces requêtes afin d'obtenir un résultat pertinent.
Objectifs de l'atelier
Cet atelier va vous apprendre à effectuer les tâches suivantes :
Interroger l'ensemble de données public "data-to-insights"
Corriger des erreurs SQL courantes à l'aide de l'éditeur de requête BigQuery
Utiliser l'outil de validation des requêtes
Corriger des erreurs SQL de syntaxe et de logique
Avant de commencer l'atelier
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ouvrir BigQuery et épingler un projet à l'arborescence des ressources
Dans cette section, vous allez ajouter le projet data-to-insights à vos ressources d'environnement.
Cliquez sur le menu de navigation > BigQuery.
La boîte de message Bienvenue dans BigQuery dans Cloud Console s'ouvre.
La boîte de message Bienvenue dans BigQuery dans Cloud Console fournit un lien vers le guide de démarrage rapide et les mises à jour de l'interface utilisateur.
Cliquez sur Terminé.
Les ensembles de données publics BigQuery ne sont pas affichés par défaut dans l'interface utilisateur Web de BigQuery. Pour ouvrir le projet de jeux de données publics
Cliquez sur + Ajouter des données.
Sélectionnez Épingler le projet > Entrer le nom du projet.
Pour Nom du projet, saisissez data-to-insights.
Cliquez sur Épingler.
Dans le volet de gauche, sous Affichage des projets épinglés, vous verrez le projet data-to-insights épinglé.
Éditeur de code BigQuery
Dans chaque activité des sections suivantes de cet atelier, les requêtes contiennent des erreurs courantes que vous devez corriger. L'atelier vous explique comment identifier l'erreur et fournit des suggestions de correction de la syntaxe permettant d'obtenir des résultats utiles.
Pour suivre la procédure de correction et voir les suggestions, copiez la requête et collez-la dans votre ÉDITEUR BIGQUERY. Si celle-ci contient des erreurs, un point d'exclamation rouge s'affiche sur les lignes concernées ainsi que dans l'outil de validation des requêtes (dans le coin inférieur).
Si vous exécutez la requête alors qu'elle contient une erreur, elle n'aboutit pas, et l'erreur apparaît dans les informations sur le job.
Si la requête est correcte, une coche verte est visible dans l'outil de validation des requêtes. Dans ce cas, cliquez sur EXÉCUTER pour afficher les résultats.
Trouver le nombre total de clients qui ont effectué un achat
Dans cette section, votre objectif est de créer une requête qui vous donne le nombre de visiteurs uniques ayant effectué un achat sur votre site Web. Les données se trouvent dans la table rev_transactions fournie par votre équipe d'analystes de données. Celle-ci vous a également donné des exemples de requêtes pour vous aider à faire votre analyse, mais vous n'êtes pas certain que le code soit correct.
Corriger des requêtes contenant des erreurs de validation, d'alias et de virgule
Examinez la requête ci-dessous et répondez à la question suivante :
#standardSQL
SELECT FROM `data-to-inghts.ecommerce.rev_transactions` LIMIT 1000
Que pensez-vous de cette requête modifiée ?
#standardSQL
SELECT * FROM [data-to-insights:ecommerce.rev_transactions] LIMIT 1000
Que pensez-vous de cette requête utilisant le langage SQL standard ?
#standardSQL
SELECT FROM `data-to-insights.ecommerce.rev_transactions`
Et maintenant ? Cette requête fait référence à une colonne.
#standardSQL
SELECT
fullVisitorId
FROM `data-to-insights.ecommerce.rev_transactions`
Et maintenant ? La requête suivante fait référence à un titre de page.
#standardSQL
SELECT fullVisitorId hits_page_pageTitle
FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
Et maintenant ? La virgule manquante a été ajoutée.
#standardSQL
SELECT
fullVisitorId
, hits_page_pageTitle
FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
Réponse : cette requête renvoie des résultats, mais êtes-vous certain que les visiteurs ne sont pas comptabilisés deux fois ? De plus, avec une réponse d'une seule ligne, vous savez combien de visiteurs uniques sont arrivés jusqu'au paiement.
Dans la section suivante, vous allez apprendre à agréger vos résultats.
Corriger des requêtes contenant des erreurs de logique, des instructions GROUP BY et des filtres utilisant des caractères génériques
Agrégez la requête suivante pour répondre à la question "Combien de visiteurs uniques ont effectué un achat ?".
#standardSQL
SELECT
fullVisitorId
, hits_page_pageTitle
FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
Que pensez-vous de la requête suivante ? La fonction d'agrégation COUNT() a été ajoutée.
#standardSQL
SELECT
COUNT(fullVisitorId) AS visitor_count
, hits_page_pageTitle
FROM `data-to-insights.ecommerce.rev_transactions`
Dans la requête suivante, des instructions GROUP BY et DISTINCT ont été ajoutées.
#standardSQL
SELECT
COUNT(DISTINCT fullVisitorId) AS visitor_count
, hits_page_pageTitle
FROM `data-to-insights.ecommerce.rev_transactions`
GROUP BY hits_page_pageTitle
Résultats
Parfait. Les résultats sont bons, mais ils ont l'air étrange.
Filtrez les résultats pour n'afficher que les confirmations de paiement ("Checkout Confirmation").
#standardSQL
SELECT
COUNT(DISTINCT fullVisitorId) AS visitor_count
, hits_page_pageTitle
FROM `data-to-insights.ecommerce.rev_transactions`
WHERE hits_page_pageTitle = "Checkout Confirmation"
GROUP BY hits_page_pageTitle
Lister les villes comptant le plus de transactions sur votre site e-commerce
Résoudre les problèmes de classement, de champs calculés et de filtrage après agrégation des erreurs
Complétez la requête partiellement rédigée :
SELECT
geoNetwork_city,
totals_transactions,
COUNT( DISTINCT fullVisitorId) AS distinct_visitors
FROM
`data-to-insights.ecommerce.rev_transactions`
GROUP BY
Solution possible
#standardSQL
SELECT
geoNetwork_city,
SUM(totals_transactions) AS totals_transactions,
COUNT( DISTINCT fullVisitorId) AS distinct_visitors
FROM
`data-to-insights.ecommerce.rev_transactions`
GROUP BY geoNetwork_city
Modifiez la requête précédente pour classer les villes par nombre de transactions, dans l'ordre décroissant.
Solution possible
#standardSQL
SELECT
geoNetwork_city,
SUM(totals_transactions) AS totals_transactions,
COUNT( DISTINCT fullVisitorId) AS distinct_visitors
FROM
`data-to-insights.ecommerce.rev_transactions`
GROUP BY geoNetwork_city
ORDER BY distinct_visitors DESC
Modifiez la requête en créant un autre champ calculé destiné à renvoyer le nombre moyen de produits par commande et par ville.
Solution possible
#standardSQL
SELECT
geoNetwork_city,
SUM(totals_transactions) AS total_products_ordered,
COUNT( DISTINCT fullVisitorId) AS distinct_visitors,
SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered
FROM
`data-to-insights.ecommerce.rev_transactions`
GROUP BY geoNetwork_city
ORDER BY avg_products_ordered DESC
Résultats
Filtrez vos résultats agrégés pour ne renvoyer que les villes présentant une valeur supérieure à 20 pour avg_products_ordered.
Quel est le problème avec la requête suivante ?
#standardSQL
SELECT
geoNetwork_city,
SUM(totals_transactions) AS total_products_ordered,
COUNT( DISTINCT fullVisitorId) AS distinct_visitors,
SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered
FROM
`data-to-insights.ecommerce.rev_transactions`
WHERE avg_products_ordered > 20
GROUP BY geoNetwork_city
ORDER BY avg_products_ordered DESC
Solution possible
#standardSQL
SELECT
geoNetwork_city,
SUM(totals_transactions) AS total_products_ordered,
COUNT( DISTINCT fullVisitorId) AS distinct_visitors,
SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered
FROM
`data-to-insights.ecommerce.rev_transactions`
GROUP BY geoNetwork_city
HAVING avg_products_ordered > 20
ORDER BY avg_products_ordered DESC
Trouver le nombre total de produits dans chaque catégorie de produits
Trouver les produits les plus vendus en filtrant avec des valeurs NULL
Quel est le problème avec la requête suivante ? Comment corrigeriez-vous l'erreur ?
#standardSQL
SELECT hits_product_v2ProductName, hits_product_v2ProductCategory
FROM `data-to-insights.ecommerce.rev_transactions`
GROUP BY 1,2
Quel est le problème avec la requête suivante ?
#standardSQL
SELECT
COUNT(hits_product_v2ProductName) as number_of_products,
hits_product_v2ProductCategory
FROM `data-to-insights.ecommerce.rev_transactions`
WHERE hits_product_v2ProductName IS NOT NULL
GROUP BY hits_product_v2ProductCategory
ORDER BY number_of_products DESC
Modifiez la requête précédente pour ne comptabiliser que les produits distincts dans chaque catégorie de produits.
Solution possible
#standardSQL
SELECT
COUNT(DISTINCT hits_product_v2ProductName) as number_of_products,
hits_product_v2ProductCategory
FROM `data-to-insights.ecommerce.rev_transactions`
WHERE hits_product_v2ProductName IS NOT NULL
GROUP BY hits_product_v2ProductCategory
ORDER BY number_of_products DESC
LIMIT 5
Félicitations !
Vous avez identifié et corrigé des requêtes erronées en langage SQL standard dans BigQuery. N'oubliez pas d'utiliser l'outil de validation des requêtes pour vérifier la syntaxe, mais aussi pour évaluer les résultats de votre requête, même si celle-ci s'exécute correctement.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Dans cet atelier, vous allez vous servir de BigQuery pour corriger des erreurs SQL courantes, interroger l'ensemble de données public "data-to-insights", utiliser l'outil de validation des requêtes et rectifier des erreurs de syntaxe et de logique SQL.
Durée :
0 min de configuration
·
Accessible pendant 50 min
·
Terminé après 50 min