Générer automatiquement du code SQL avec un tableur | de Mala Deep | juin 2022

Sans écrire SQL, générer du code SQL

Générer automatiquement du code SQL avec un tableur |  de Mala Deep |  juin 2022
Générez du code SQL avec une feuille de calcul. Image de l’auteur.

SQL est assez familier à tous ceux qui travaillent avec des données. Le langage SQL (Structured Query Language) est un outil indispensable. Si vous souhaitez travailler dans le domaine de la data science ou de l’analyse, c’est sans aucun doute le langage le plus important à maîtriser.

Tout le monde n’aime pas écrire des requêtes SQL. Si vous l’aimez, vous voudrez peut-être l’utiliser dans toutes sortes d’endroits. J’ai découvert que la plupart des professionnels des données préfèrent travailler avec Excel. Par conséquent, si vous souhaitez utiliser SQL dans Excel, vous devez vous connecter à SQL Server, accéder à la base de données SQL et exécuter des requêtes SQL. C’est un peu chronophage et fastidieux. Pour faciliter les choses, j’ai commencé à chercher des esprits brillants pour résoudre exactement le même problème, et je suis tombé sur une application Web qui me permet de générer du SQL à partir de n’importe quelle feuille de calcul et de manipuler des données à l’aide d’un éditeur SQL intégré.

Facilitons un peu la vie professionnelle de vos données avec cela. À l’aide de Canvasapp, vous pouvez générer automatiquement des requêtes SQL et afficher des données à partir de n’importe quelle source.

Avant de pouvoir effectuer une analyse de classe mondiale, vous devez disposer d’un ensemble de données. Nous allons utiliser des exemples de données de vente de Kaggle.com.

Chargement des données

Pour charger des données, il suffit de glisser-déposer.

Instantané des données dans l'application Canvas.  Image de l'auteur.
Instantané des données dans l’application Canvas. Image de l’auteur.

Maintenant, si vous voulez voir le code SQL du jeu de données chargé, il vous suffit de cliquer sur l’icône en haut à droite du terminal (cercles en rouge) ou utilisez le commande + majuscule + E raccourci clavier. J’ai trouvé que dans Canvasapp, presque chaque action SQL est convertie en une action de table pour des performances plus rapides.

Icône de terminal (cercles en rouge) ou utilisez le raccourci clavier commande + Maj + E pour l'éditeur SQL.  Image de l'auteur.
Icône borne (cercles en rouge) ou utilisez le commande + majuscule + E raccourci clavier pour l’éditeur SQL. Image de l’auteur.

Vous verrez une invite latérale contenant du code SQL une fois que vous aurez cliqué dessus. Il existe une requête que vous pouvez exécuter dans n’importe quel moteur de base de données prenant en charge SQL de la manière la plus simple possible.

Éditeur SQL en action pour Spreadsheet.  Image de l'auteur.
Éditeur SQL en action. Image de l’auteur.
GIF par Giphy.com

Attendez une minute. Pensez-vous que vous pouvez simplement recevoir une requête SQL de Canvasapp et en finir ? Non, nous pouvons faire beaucoup plus.

Canvasapp est une application collaborative d’exploration de données qui aide les équipes d’entreprise modernes à prendre des décisions sans avoir à utiliser SQL. Vous pouvez l’utiliser pour créer des graphiques, des tableaux de bord et automatiser des feuilles de calcul. Voici un exemple rapide de tableau de bord.

Tableau de bord des ventes rapides.  Image de l'auteur.
Tableau de bord des ventes rapides. Image de l’auteur.

Outre la génération de requêtes SQL, la création de pivots est la fonctionnalité suivante que j’ai trouvée incroyable. Si vous avez utilisé pivot dans Excel, vous pouvez rapidement créer un tableau croisé dynamique avec SQL.

//SQL codewithsource1 as (
select columnA as ORDERNUMBER, columnB as QUANTITYORDERED, columnC as PRICEEACH, columnD as ORDERLINENUMBER, columnE as SALES, columnF as ORDERDATE, columnG as STATUS, columnH as QTR_ID, columnI as MONTH_ID, columnJ as YEAR_ID, columnK as PRODUCTLINE, columnL as MSRP, columnM as PRODUCTCODE, columnN as CUSTOMERNAME, columnO as PHONE, columnP as "ADDRESSLINE1", columnQ as "ADDRESSLINE2", columnR as CITY, columnS as STATE, columnT as POSTALCODE, columnU as COUNTRY, columnV as TERRITORY, columnW as CONTACTLASTNAME, columnX as CONTACTFIRSTNAME, columnY as DEALSIZE from
(values
('10107', '30', '95.7', '2', '2871', '2/24/03', 'Shipped', '1', '2', '2003', 'Motorcycles', '95', 'S10_1678', 'Land of Toys Inc.', '2125557818', '897 Long Airport Avenue', '', 'NYC', 'NY', '10022', 'USA', 'NA', 'Yu', 'Kwai', 'Small'),

-------------(more data but hidden for shake of medium limit)-------

('10208', '24', '100', '9', '2622.48', '1/2/04', 'Shipped', '1', '1', '2004', 'Vintage Cars', '136', 'S18_3140', 'Saveley & Henriot, Co.', '78.32.5555', '2, rue du Commerce', '', 'Lyon', '', '69004', 'France', 'EMEA', 'Saveley', 'Mary', 'Small'),
('10221', '33', '100', '3', '4417.38', '2/18/04', 'Shipped', '1', '2', '2004', 'Vintage Cars', '136', 'S18_3140', 'Petit Auto', '(02) 5554 67', 'Rue Joseph-Bens 532', '', 'Bruxelles', '', 'B-1180', 'Belgium', 'EMEA', 'Dewey', 'Catherine', 'Medium')
) as tbl (columnA, columnB, columnC, columnD, columnE, columnF, columnG, columnH, columnI, columnJ, columnK, columnL, columnM, columnN, columnO, columnP, columnQ, columnR, columnS, columnT, columnU, columnV, columnW, columnX, columnY)
limit 1000
)

select distinct
PRODUCTLINE as "Production",
count(distinct SALES) as "Sales"
from source1
group by 1
order by "PRODUCTLINE" nulls first
limit 500

production:

Tableau croisé dynamique dans tableur excel SQL.  Image de l'auteur.
Exemple de tableau croisé dynamique. Image de l’auteur.

Vous pouvez également obtenir le même résultat en utilisant la fonction glisser-déposer Pivot de Canvasapp (ou le raccourci clavier Commande + Maj + P).

Option glisser-déposer de création de pivot.  Image de l'auteur.  Application Canvas.
Option glisser-déposer de création de pivot. Image de l’auteur.

👀 Voici une vidéo pour ceux qui aiment Regardez plutôt que lis.

Démo de travail de la génération automatique de SQL à partir d’une feuille de calcul. Vidéo de l’auteur.

N’oubliez pas que vous pouvez accéder à n’importe quelle application via un navigateur, vous connecter en utilisant vos capacités de feuille de calcul pour automatiser les rapports, partager des informations avec votre équipe et produire implicitement du code SQL.

Essayez-le et faites-moi savoir comment vous vous entendez avec SQL et les feuilles de calcul travaillant ensemble.

Leave a Comment