Si vous utilisez Excel au travail, vous connaissez probablement de manière frustrante cette boîte de dialogue :
Vous avez probablement aussi travaillé sur une feuille de calcul dont la modification était douloureusement lente, où chaque clic s’accompagnait de 10 secondes de gel de votre écran et de la roue de la mort qui tourne.
En général, les gros fichiers ou les classeurs remplis de formules sont à blâmer. Excel peut gérer jusqu’à un million de lignes, mais lorsque vous travaillez avec un grand ensemble de données ou que vous faites des analyses lourdes – en appliquant des formules à un tas de cellules, en reliant plusieurs feuilles de calcul ou en vous connectant à d’autres classeurs – il ralentit bien avant que vous n’atteigniez la limite de lignes.
Excel a une autre faiblesse qui peut conduire à l’inefficacité : sa structure est trop flexible. Cela peut sembler un peu fou – la flexibilité est l’une des raisons pour lesquelles les gens aiment Excel. Comme chaque cellule est sa propre entité, vous avez beaucoup de liberté pour ajouter des notes de bas de page, fusionner des cellules entre elles ou tracer un motif à l’aiguille.
Cependant, si une cellule peut être manipulée facilement, il est plus difficile de faire confiance à l’intégrité de la feuille de calcul dans son ensemble. La flexibilité d’Excel rend l’application de la cohérence et de la précision dans les grands ensembles de données presque impossible. Quel que soit votre degré de vigilance, quel que soit le nombre de fois où vous passez une feuille de calcul au peigne fin pour repérer les fautes de frappe et les formules cassées, vous risquez quand même de passer à côté de quelque chose.
- Oh, hé, SQL
- Feuillet de calcul, rencontre avec une base de données relationnelle
- Le saut des formules aux requêtes
- Cahier de travail gratuit : Le guide de démarrage rapide de l’utilisateur d’Excel pour SQL
- Les prochaines étapes pour apprendre SQL
- Vous êtes sur la bonne voie !
Oh, hey, SQL
Les données avec lesquelles vous travaillez dans Excel devaient venir de quelque part. Ce quelque part, c’est une base de données. Même lorsque vous tirez des données de quelque chose qui ne semble pas technique (pensez à Google Analytics, Stripe ou Salesforce), en coulisse, vous interrogez une base de données.
Combien de visites web avons-nous eu en janvier ? Quel est notre taux d’abandon de l’entonnoir de paiement pour le produit que nous venons de lancer ? Quels représentants commerciaux construisent plus de pipeline que les autres ? Ce sont toutes des requêtes, en langage humain et non informatique. En tant que power user d’Excel, vous pouvez probablement penser à la façon dont vous pourriez écrire ces questions sous forme de formules si vous êtes armé du bon ensemble de données.
Alors, comment interroger directement une base de données à la place ? Dans la plupart des cas, les gens utilisent SQL (abréviation de Structured Query Language). SQL indique à une base de données les données que vous souhaitez visualiser et manipuler avec des calculs.
En déplaçant certains de vos calculs initiaux vers SQL, vous pouvez réduire la quantité de données que vous exportez. Et avec un ensemble de données plus petit, vous êtes moins susceptible de rencontrer des problèmes de performance avec Excel.
A mesure que vous êtes plus à l’aise avec SQL, vous pouvez déplacer de plus en plus d’analyses vers SQL jusqu’à ce que vous atteigniez le point où Excel devient l’exception et non la règle. Les bases de données SQL peuvent gérer d’énormes quantités de données sans souffrir de problèmes de performance et ont une structure ordonnée qui protège l’intégrité de vos données.
Apprendre un nouveau langage peut sembler rébarbatif – tout comme l’utilisation d’outils qui semblent simplement plus techniques. Mais en tant qu’utilisateur d’Excel, vous en savez déjà plus sur le SQL que vous ne le pensez.
Spreadsheet, meet relational database
Une base de données est une collection organisée de données. Il existe de nombreux types de bases de données, mais le type spécifique de base de données avec lequel SQL peut communiquer est connu sous le nom de base de données relationnelle.
De même qu’un classeur Excel est composé de feuilles de calcul, une base de données relationnelle est composée de tables, comme celle ci-dessous.
Les tables ont des lignes et des colonnes comme une feuille de calcul, mais dans une table, vous ne pouvez pas interagir avec chaque cellule (ou « valeur », dans la terminologie des bases de données) individuellement. Si vous voulez exclure la ville natale de Ralph Abernathy de la ligne supérieure du tableau ci-dessus, vous ne pouvez pas simplement la supprimer. Vous devez exclure toute la ligne ou toute la colonne « ville natale ».
La raison pour laquelle vous ne pouvez pas modifier les cellules à la volée est qu’une base de données a une structure rigide. Les valeurs de chaque ligne sont liées entre elles comme une seule unité. Chaque colonne doit avoir un nom unique et ne peut contenir qu’un type de données spécifique (‘Integer’, ‘Text’, ‘Date’, etc).
La structure flexible d’Excel peut sembler assez bonne pour le moment, mais accrochez-vous. Parce que la structure d’une base de données est si stricte, il est plus facile de protéger l’intégrité de vos données. En d’autres termes, il est beaucoup moins probable que vous vous retrouviez avec des incohérences et des erreurs. Et cela signifie que vous pouvez accorder beaucoup plus de confiance à vos données.
Le saut des formules aux requêtes
La façon la plus courante de manipuler des données dans Excel est d’utiliser des formules. Une formule est constituée d’une ou plusieurs fonctions qui indiquent à Excel ce qu’il doit faire avec les données d’une cellule. Par exemple, vous pouvez additionner des valeurs numériques en utilisant SUM(A1:A5)
ou en faire la moyenne en utilisant AVERAGE(A1:A5)
.
L’équivalent SQL d’une formule est une requête. La requête permettant de retourner le tableau ci-dessus ressemble à ceci :
SELECT player_name, hometown, state, weight FROM benn.college_football_players
SELECT
et FROM
sont les deux ingrédients fondamentaux de toute requête SQL : SELECT
spécifie les colonnes de données que vous voulez et FROM
indique dans quelle table elles se trouvent. Vous pouvez en fait choisir d’afficher toutes les colonnes en ajoutant un astérisque (*) après SELECT
, comme ceci:
SELECT * FROM benn.college_football_players
Cette requête vous montrerait toutes les colonnes du tableau benn.college_football_players
, afin que vous puissiez avoir une idée de ce à quoi ressemble l’ensemble des données. Une fois que vous savez ce dont vous avez besoin, vous pouvez rapidement couper les colonnes pour réduire la taille de l’ensemble de données.
Comme les formules, les requêtes sont composées de fonctions qui spécifient des manipulations de données. Les requêtes peuvent également contenir des clauses, des opérateurs, des expressions et quelques autres composants, mais nous n’allons pas entrer dans les détails ici. Ce que vous devez savoir, c’est que vous pouvez utiliser SQL pour manipuler des données à peu près comme vous le faites dans Excel.
Prenez la fonction IF
, par exemple. Vous utilisez IF
pour créer des déclarations conditionnelles qui filtrent les données ou ajoutent de nouvelles données en fonction de règles que vous définissez. Here’s what an IF
function looks like when you apply it to a cell:
=IF(logical_test, value_if_true, )
You could read that as IF <some condition is met> THEN <display this value> OTHERWISE <display a different value>
. The OTHERWISE
portion, which is shown as , is optional.
The SQL equivalent of IF
is CASE
. They have very similar syntax:
CASE WHEN <condition 1 is met> THEN <display value 1> ELSE <display a different value> END
CASE
statements are considerably easier to read than IF
statements because SQL queries have multiple lines. This structure is ideal for an IF
statement with multiple conditions. For instance, if you want to add two categories based on existing data in Excel, you have to nest one IF statement inside another IF statement. When you add a lot of conditions, things get ugly quickly. Mais en SQL, vous pouvez simplement ajouter une nouvelle condition comme une autre ligne.
En SQL, ajoutons plusieurs conditions en utilisant les données de football universitaire de ci-dessus. Nous allons ajouter une colonne qui divise les joueurs de football en quatre groupes de poids. Voici la requête :
Et voici à quoi ressemble le tableau de résultats :
Pas trop difficile, non ? L’instruction IF
pour cela serait un cauchemar.
Vous vous dites peut-être, mais qu’en est-il des tableaux et des graphiques ? Qu’en est-il des graphiques qui font de mon rapport un rapport ? Une option consiste à manipuler les données en SQL, à les exporter et à construire des graphiques dans Excel.
Si vous voulez sauter l’étape de l’exportation, cependant, certains programmes SQL (comme Mode) vous permettent de construire des diagrammes par-dessus les résultats de vos requêtes. Ces graphiques sont liés directement à votre base de données, de sorte que chaque fois que vous réexécutez une requête, vos résultats et vos visualisations se rafraîchissent automatiquement.
Mode Analytics
Cahier de travail gratuit : The Excel User’s Quick Start Guide to SQL
We’ve put together a workbook of six go-to Excel tasks and their SQL counterparts. Each lesson contains an example dataset and detailed instructions. You’ll learn how to do the following Excel functions in SQL:
- Arithmetic
IF
- Filtering
VLOOKUP
-
SUM
COUNT
, andAVG
- Grouped aggregation (pivot tables)
As you gain SQL knowledge, it’s helpful to know where to focus your learning and how to navigate your company’s data.
Pick tutorials geared toward data analysis
There are a lot of SQL resources, but not all of them are focused on data analysis.
Engineers and database administrators use SQL to create, update, and delete tables in databases. They can upload a whole new table or delete one permanently from the database. These are very different tasks from how you’ll use SQL (at least until you fall so in love with data that you make a career switch to analytics).
Don’t get bogged down in SQL tutorials that are designed for database management. Hone in on query-focused tutorials. Here are some SQL lessons to start out with:
- Retrieving data
- Filtering data and making simple calculations
- Using multiple filters at once
- Ordering your results
- Aggregating data
- Counting unique values in a column
- Conditional logic
- Joining datasets
If you find yourself in tutorials talking about things like:
CREATE TABLE
DROP TABLE
CREATE DATABASE
DROP DATABASE
….vous vous êtes trompé de terrier.
Pratiquez avec les données de votre entreprise
Si vous faites de l’analyse au travail, rien ne remplace vraiment l’utilisation des données de votre entreprise pour apprendre SQL. Vous pouvez explorer la structure des données de votre entreprise et apprendre des concepts techniques en même temps. Tout ce que vous captez sera immédiatement applicable à votre travail.
Pour ce faire, vous devez comprendre comment les données de votre entreprise sont organisées. Où sont stockées les données relatives aux produits et au marketing ? Si vous voulez examiner les comptes qui ont baratté le mois dernier, quelle(s) table(s) devez-vous interroger ?
La plupart des entreprises ont une équipe d’analystes qui travaille quotidiennement avec les données de votre entreprise. Ces personnes seront en mesure de répondre à vos questions ou de vous indiquer de la documentation utile. Il y a là une relation mutuellement bénéfique : si vous interrogez des données par vous-même, vous réduisez l’arriéré de demandes de données de l’équipe analytique. Points brownie garantis.
Un certain nombre de clients de Mode ont même mis en place des sessions de formation régulières au cours desquelles les analystes enseignent le SQL à leurs collègues en utilisant leurs données internes. Les réactions ont été extrêmement positives de la part des deux groupes de personnes ! Faites-nous savoir si vous envisagez de mettre cela en place dans votre entreprise. Nous serons heureux de partager certains enseignements.
Vous êtes sur la bonne voie !
Vous avez hâte de vous lancer ? Téléchargez notre guide de démarrage rapide gratuit pour les utilisateurs d’Excel et plongez dans notre tutoriel SQL !