Le langage de requête de Google est un moyen rapide et puissant d'analyser les données de vos feuilles Google qui emprunte de nombreux modèles utilisés dans SQL. Ce didacticiel vous familiarisera avec les bases de l'utilisation des requêtes pour répondre à des questions spécifiques à partir d'un exemple d'ensemble de données.
Nous avons d’abord besoin de quelques exemples de données avec lesquelles jouer. Nous utiliserons la fonction d'importation pour extraire un tableau de données sur la population mondiale de Wikipédia :
=IMPORTHTML("https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)", "table", 3)
Cette fonction trouve le 3ème tableau à l'URL ci-dessus, récupère les données de chaque cellule et les importe dans votre feuille Google. Cool! Mais faisons encore une chose pour rendre l'interrogation de ces données un peu plus facile.
Cliquez sur n’importe quelle cellule contenant des données pour la mettre en surbrillance, puis appuyez sur CMD + A pour mettre en surbrillance l’intégralité du tableau. Avec le tableau entier en surbrillance, cliquez sur Données > Plages nommées pour ouvrir le panneau Plages nommées — il s'envolera par la droite.
Une plage nommée est un surnom que vous pouvez donner à un groupe de cellules. Appelons nos « pays ».
Super! Nous sommes maintenant prêts à commencer les requêtes !
Mettez en surbrillance la cellule J1 — nous utiliserons cette cellule pour saisir toutes les requêtes ci-dessous :
Afficher une copie de l'intégralité de l'ensemble de données :
=QUERY(countries, "select *",1)
Montre-moi uniquement les colonnes Pays et Région :
=QUERY(countries, "select B, C",1)
La clause WHERE est un excellent moyen de commencer à poser des questions plus spécifiques à partir de votre ensemble de données.
Montrez-moi les pays dont la population est supérieure ou égale à 100 millions :
=QUERY(countries, "SELECT B, E where E >= 100000000")
Montre-moi les pays dont le nom contient un « es » :
=QUERY(countries, "SELECT B where B contains 'es'")
Montre-moi les pays sans « es » dans leur nom :
=QUERY(countries, "SELECT B where not B contains 'es'")
Montre-moi les pays qui commencent par « S » :
=QUERY(countries, "SELECT B where B STARTS WITH 'S'")
Montre-moi les pays qui se terminent par « s » (n'oubliez pas de respecter la casse :
=QUERY(countries, "SELECT B where B ENDS WITH 's'")
Montre-moi les pays qui contiennent « United » :
=QUERY(countries, "SELECT B where B CONTAINS 'United'")
Voyons un ajout encore plus précis dans la clause AND !
Montrez-moi tous les pays des Amériques qui comptent également moins de 100 000 habitants :
=QUERY(countries, "select B, F WHERE C = 'Americas' AND F <= 100000", 1)
Les clauses AND peuvent être enchaînées à l’infini.
Cette requête renvoie tous les pays des Amériques dont la population est inférieure à 100 000 et supérieure à 10 000 :
=QUERY(countries, "select B, F WHERE C = 'Americas' AND F <= 100000 AND F >= 10000", 1)
L'une des premières choses que vous souhaitez faire lorsque vous explorez un ensemble de données est peut-être de voir quelques agrégations simples : les valeurs maximales, minimales et moyennes dans certains champs. Trouvons la population maximale, minimale et moyenne en 2017 pour les pays de notre ensemble de données :
=QUERY(countries, "select max(F), min(F), avg(F)", 1)
C'est super,
Avec une légère modification, nous pouvons voir les populations max, min et moyenne de chaque continent :
=QUERY(countries, "select C, max(F), min (F), avg(F) GROUP by C", 1)
« Compter » et « Grouper par » constituent ensemble un autre excellent moyen d'explorer un ensemble de données. Combinés, ils vous permettent de compter les éléments dans une ou plusieurs colonnes et de visualiser et agréger la vue.
Utilisons ces deux clauses pour voir combien de pays de notre liste se trouvent dans chaque région :
=QUERY(countries, "SELECT C, count(B) GROUP by C", 1)
Ajoutons la clause « ORDER BY » pour nous montrer une liste de toutes les régions, classées du plus haut au plus bas :
=QUERY(countries, "SELECT C, count(B) GROUP by C ORDER by C asc", 1)
La clause « PIVOT » regroupera les valeurs sur une seule ligne.
Par exemple, si nous voulons afficher la somme de toutes les populations de 2017 par région, nous pourrions utiliser :
=QUERY(countries, "SELECT sum(F) pivot C", 1)
Vous pouvez également analyser vos données en effectuant des opérations mathématiques dans le cadre de vos requêtes.
Montrons maintenant une liste de pays avec leur population de 2017 en pourcentage de la population mondiale totale :
=QUERY(countries, "select B, C, (F / 7550262101) * 100", 1)
Nos données en pourcentage ont l'air sympas, mais l'en-tête de colonne est très lisible. Nous pourrions cliquer dans la cellule et la renommer — mais nous pouvons également définir le nom dans le cadre de la requête en ajoutant un paramètre « label » :
=QUERY(countries, "select B, C, (F / 7550262101) * 100 Label (F / 7550262101) * 100 'Percentage'", 1)
Documentation sur le langage de requête Google : https://developers.google.com/chart/interactive/docs/querylangage
Présentation de la fonction de requête Google Sheets par Coding Is For Losers : https://codingisforlosers.com/google-sheets-query-function/#why