Utiliser ShopifyQL dans Notebooks

ShopifyQL est le langage de requête de Shopify conçu pour le commerce. Les langages de requête sont utilisés pour demander et récupérer des données dans les bases de données. Vous pouvez utiliser ShopifyQL avec l’application Carnets de Shopify pour explorer la base de données de votre entreprise et récupérer les données qui vous permettent d’acquérir une connaissance plus approfondie de votre entreprise.

Pour obtenir une liste complète des valeurs et dimensions qui peuvent être utilisées dans les requêtes de ShopifyQL Notebook, voir le schéma des commandes et le schéma des produits.

Aperçu de ShopifyQL

Les données de votre boutique sont stockées dans des tables de base de données, structurées en colonnes et lignes définies. Les colonnes définissent le type d’informations qu’elles contiennent, telles que les ventes, et les lignes précisent la valeur réelle du type de données, par exemple 2 450 USD de ventes.

Pour récupérer vos données dans un format significatif, une requête doit être soumise à la base de données. Une requête est une question qui demande des données spécifiques sous la forme d’une réponse. Un langage de requête, comme ShopifyQL, est une façon standardisée de créer cette question. Une requête est faite de mots–clés et de leurs paramètres correspondants. La combinaison de plusieurs mots–clés avec des paramètres spécifiques génère votre requête. Une fois votre requête conçue, vous pouvez l’exécuter et recevoir une réponse.

Voici un exemple de syntaxe ShopifyQL, écrit sous la forme d’une requête. Les mots–clés sont en gras, leurs paramètres correspondants sont entre accolades. Les paramètres indiqués ici sont des paramètres fictifs :

**FROM**{ table_name }**SHOW** { column1, column2, ... }**GROUP BY**{ dimension | date_group }**WHERE**{ condition }**SINCE**{ date_offset }**UNTIL**{ date_offset }**ORDER BY**{ column } DESC**LIMIT**{ count }

Glossaire des termes

Définitions des termes de ShopifyQL
Terme Définition
Dimension Un attribut qui segmente les données afin qu’elles puissent être triées et présentées plus clairement. Les exemples courants de dimensions comprennent l’heure, les produits et les lieux. Les dimensions sont utilisées comme paramètres dans ShopifyQL.
Mot-clé Syntaxe ShopifyQL qui agit comme une commande pour diriger votre requête.
Indicateur Une mesure quantitative de données. Les exemples courants d’indicateurs comprennent les ventes totales, le nombre de commandes et le bénéfice brut.
Paramètre Syntaxe ShopifyQL qui identifie les éléments ou les détails de la base de données à inclure dans votre requête.

Tableau de référence des mots–clés

Voici les mots–clés que vous pouvez utiliser pour rédiger votre requête :

Liste des mots–clés ShopifyQL
Mot-clé Utilisation fonctionnelle
FROM Indique la table de données à partir de laquelle sélectionner les données.
SHOW Sélectionne les colonnes que vous souhaitez extraire de la table de données.
VISUALIZE Affiche vos données dans une visualisation en ligne ou à barres.
GROUP BY Regroupe les données extraites par une dimension ou des dimensions temporelles.
WHERE Définit la condition ou les conditions que les lignes doivent satisfaire pour être sélectionnées.
SINCE Affiche les données depuis un moment spécifié dans le passé.
UNTIL Affiche les données jusqu’à un moment spécifié dans le passé.
ORDER BY Indique par quelle colonne ordonner les données.
LIMIT Limite le nombre de lignes de données affichées.
AS Donne à une colonne le nom de votre choix.

Rédiger des requêtes ShopifyQL

Les requêtes ShopifyQL peuvent être basiques, pour des analyses de données globales, ou plus complexes, pour des analyses détaillées. Chaque mot–clé a une fonction spécifique permettant de construire votre requête.

Les bases de ShopifyQL : FROM et SHOW

Pour créer la requête ShopifyQL la plus simple, deux mots–clés suffisent : FROM et SHOW, écrits dans cet ordre. FROM, suivi d’un paramètre de nom de table, indique la table que vous souhaitez interroger. SHOW, suivi d’un paramètre de nom de colonne, indique les colonnes que vous souhaitez sélectionner.

Par exemple, vous pouvez lister tous les ID de produits et leurs titres correspondants dans le tableau des ventes en rédigeant cette requête :

**FROM**products**SHOW**product_id, product_title

Données de regroupement : GROUP BY

Pour segmenter un indicateur par une dimension, par exemple pour regrouper les ventes par région, utilisez le mot-clé « GROUP BY » (grouper par). Le mot-clé GROUP BY peut être associé à n’importe quel paramètre de dimension.

Par exemple, une requête qui regroupe les frais d’expédition totaux par pays et région de facturation est écrite ainsi :

**FROM**orders**SHOW**shipping**GROUP BY**billing_country, billing_region

Voici un autre exemple de requête qui utilise une dimension de temps pour afficher les ventes nettes par mois :

**FROM**orders**SHOW**net_sales**GROUP BY**month

La requête ci-dessus ne renvoie aucun mois là où vous n’avez aucune vente. Si vous souhaitez qu’une requête renvoie une période complète et ininterrompue, utilisez le modificateur ALL :

**FROM**orders**SHOW**net_sales**GROUP BY**month ALL**SINCE**last_year**UNTIL**today

Lorsque vous utilisez le modificateur ALL (tout), vous devez également spécifier SINCE (depuis) et UNTIL (jusqu'à). Notez que le modificateur ALL (tout) ne fonctionne qu’avec une dimension temporelle.

Dimensions de temps

Voici les dimensions de temps que vous pouvez utiliser pour regrouper vos données :

Dimensions de temps de ShopifyQL
Opérateur Utilisation fonctionnelle
heure Regroupement par heure de jour civil.
jour Regroupement par jour civil.
semaine Regroupement par semaine civile.
mois Regroupement par mois civil.
quarter Regroupement par trimestre civil.
année Regroupement par année civile.
hour_of_day Regroupement par 24 heures (1,2,...,24).
day_of_week Regroupement par jour de la semaine (M, T,W,...,S).
week_of_year Regroupement par semaine de l’année (1,2,...,52).

Filtrage des données : WHERE

Le mot–clé WHERE vous permet d’appliquer un filtre dimensionnel à l’ensemble d’une requête ShopifyQL.

Par exemple, si vous souhaitez renvoyer les ventes nettes, regroupées par mois, mais uniquement pour une région spécifique, votre requête est :

**FROM**orders**SHOW**net_sales**GROUP BY**month ALL**WHERE**billing_region = ’ohio’**SINCE**last_year**UNTIL**today

Comme vous pouvez le voir dans l’exemple ci-dessus, vous pouvez filtrer l’ensemble de résultats avec le paramètre WHERE, même si ce paramètre n’est pas inclus dans les mots-clés SHOW ou GROUP BY. Dans ce cas, les ventes nettes sont filtrées sur tous les mois pour les commandes dont l’adresse de facturation se trouve uniquement en Ohio, même si billing_region n’est pas inclus dans l’ensemble de résultats.

Opérateurs de comparaison

Le mot–clé WHERE utilise des opérateurs de comparaison pour filtrer les données. Dans l’exemple ci–dessus, « = » a été utilisé pour spécifier que la requête filtre selon une valeur spécifique. Cependant, d’autres opérateurs sont à votre disposition :

Opérateurs de comparaison de ShopifyQL
Opérateur de comparaison Utilisation fonctionnelle
= :
!= n'est pas
< est inférieur(e) à
> est supérieur(e) à
<= est inférieur(e) ou égal(e) à
>= est supérieur(e) ou égal(e) à

Opérateurs logiques

Pour filtrer davantage vos données, vous pouvez ajouter des opérateurs logiques à votre requête. Les opérateurs logiques de ShopifyQL sont les suivants :

Opérateurs logiques de ShopifyQL
Opérateur logique Utilisation fonctionnelle
AND Filtre pour afficher toutes les lignes où les conditions séparées par AND sont remplies.
OR Filtre pour afficher toutes les lignes où l’une des conditions séparées par OR est remplie.
NOT Filtre pour afficher uniquement les lignes où les conditions ne sont pas remplies, par exemple les lignes qui ne contiennent pas la valeur spécifiée.

Vous pouvez utiliser plusieurs filtres avec le mot–clé WHERE en ajoutant des opérateurs logiques.

En ajoutant à l’exemple de requête de jeu de données, pour obtenir un regroupement mensuel des ventes nettes pour toutes les commandes où l’adresse de facturation se trouvait en Ohio et où une réduction a été appliquée, la requête est :

**FROM**orders**SHOW**net_sales**GROUP BY**month ALL**WHERE**billing_region = ’ohio’ AND discounts > 0**SINCE**last_year**UNTIL**today

Périodes : SINCE et UNTIL

Si vous souhaitez filtrer votre requête par date ou par période, vous pouvez utiliser les mots–clés SINCE et UNTIL ainsi que leurs paramètres associés. Ces mots-clés sont uniques, car ils ne filtrent que les périodes.

Par exemple, voici une requête pour trouver les ventes nettes au cours des 12 derniers mois, au Canada, à partir d’aujourd’hui :

**FROM**orders**SHOW**net_sales**GROUP BY**month ALL**WHERE**billing_country = ’Canada’**SINCE**-12m**UNTIL**today

Opérateurs de compensation

Vous pouvez filtrer par dates spécifiques ou par décalages de date. Les opérateurs de compensation de ShopifyQL sont les suivants :

Opérateurs de compensation de ShopifyQL
Opérateur de compensation Utilisation fonctionnelle
-{#}d Nombre de jours passés depuis le jour d’exécution de la requête.
-{#}w Nombre de semaines passées depuis le jour d’exécution de la requête.
-{#}m Nombre de mois passés depuis le jour d’exécution de la requête.
-{#}q Nombre de trimestres passés depuis le jour d’exécution de la requête.
-{#}y Nombre d’années passées depuis le jour d’exécution de la requête.
aaaa-mm-jj Une date spécifique.
aujourd'hui Date d’exécution de la requête.
yesterday La période de 24 heures précédant le moment où la requête est exécutée.

Trier des données : ORDER BY

Vous pouvez spécifier comment vous souhaitez trier les données renvoyées par votre requête à l’aide du mot-clé ORDER BY et de ses paramètres : ASC, pour l’ordre croissant et DESC pour l'ordre décroissant.

Vous pouvez spécifier n’importe quel indicateur ou dimension inclus dans votre requête dans le mot-clé ORDER BY, y compris plusieurs champs.

Par exemple, cette requête renvoie la somme des ventes pour chaque pays et région de facturation, triés dans l’ordre alphabétique inverse par pays de facturation, puis par région de facturation dans chaque pays.

**FROM**orders**SHOW**net_sales**GROUP BY**billing_country, billing_region**SINCE**-1y**UNTIL**today**ORDER BY**billing_country, billing_region DESC

L’ordre dans lequel vous rédigez vos indicateurs ou vos dimensions est important. Si vous spécifiez plusieurs valeurs pour ORDER BY, le tri est appliqué à chaque indicateur ou dimension de la commande donnée.


Limit

Le mot–clé LIMIT vous permet de choisir le nombre de lignes que renvoie la requête. Cette information est utile lorsque vous souhaitez simplement avoir une idée de l’apparence des données dans chaque colonne. Ou encore, vous pouvez l’associer à ORDER BY pour créer des listes ordonnées.

Cet exemple utilise LIMIT et ORDER BY pour créer une liste des 10 produits les plus vendus par quantité au cours des 3 derniers mois :

**FROM**products**SHOW**net_product_quantity**GROUP BY**product_title**SINCE**-3m**UNTIL**today**ORDER BY**net_product_quantity DESC**LIMIT**10

Visualiser vos requêtes : VISUALIZE et TYPE

Le mot–clé VISUALIZE vous permet d’écrire une requête ShopifyQL qui affiche les données dans une visualisation en ligne ou à barres.

Le mot–clé TYPE est facultatif et doit être accompagné de « line » ou de « bar » pour que votre requête renvoie une visualisation dans un graphique en ligne ou un graphique à barres, respectivement. Si TYPE n’est pas inclus dans votre requête, ShopifyQL choisit automatiquement la visualisation la plus adaptée pour votre requête. Si votre requête ne peut pas être visualisée telle qu'elle est écrite, ShopifyQL renvoie les données tabulaires.

Par exemple, vous pouvez visualiser la tendance de vos ventes au cours de l’année écoulée par mois à l’aide d’une courbe de tendance. Cette requête renvoie un tableau de séries chronologiques affichant les ventes brutes par mois au cours de l’année écoulée. Les ventes brutes sont représentées par une seule courbe, avec l’axe des abscisses pour le mois et l’axe des ordonnées pour les ventes brutes :

**FROM**orders**VISUALIZE**gross_sales**TYPE**line**GROUP BY**month ALL**SINCE**-1y**UNTIL**today

Opérateurs mathématiques

ShopifyQL autorise les opérations arithmétiques avec les indicateurs de vos données. Les opérateurs mathématiques suivants sont disponibles :

Opérateurs de compensation de ShopifyQL
Opérateur mathématique Utilisation fonctionnelle
+ Addition de deux nombres.
- Soustraction de deux nombres.
* Multiplication de deux nmbres.
/ Division de deux nombres.

Par exemple, cette requête calcule la valeur des commandes pour chaque région au cours de l’année écoulée. Lorsque vous utilisez des opérateurs mathématiques avec des indicateurs, vous pouvez utiliser le mot-clé AS pour attribuer un nouveau nom au nouvel indicateur.

**FROM**orders**SHOW**(net_sales + returns) AS order_value, orders, (net_sales + returns)/orders AS sales_per_order**GROUP BY**billing_region**SINCE**-1y**UNTIL**today

Fonctions

Les fonctions de ShopifyQL vous permettent d’agréger des colonnes, comme dans les tableaux croisés dynamiques de Microsoft Excel. Agréger des colonnes revient à les combiner pour créer une nouvelle valeur. Les opérateurs de fonction suivants sont disponibles dans la version actuelle de ShopifyQL :

Opérateurs de compensation de ShopifyQL
Opérateur de fonction Utilisation fonctionnelle
quantité() Nombre d’instances dans l'ensemble de résultats.
somme() Somme des valeurs dans l'ensemble de résultats.
min() Valeur minimale dans l'ensemble de résultats.
max() Valeur maximum dans l’ensemble de résultats.
moy() Valeur moyenne du résultat définie.

Les fonctions sum, min, max et avg ne peuvent être utilisées qu’avec des valeurs numériques tandis que count peut être utilisée pour compter différents cas d’attributs dimensionnels. Vous ne pouvez pas utiliser les champs agrégés comme arguments dans les fonctions. Les champs agrégés se terminent par _sum, _count ou par _percent.

Par exemple, cette requête renvoie une erreur puisque total_sales a déjà été agrégé :

**FROM**orders**SHOW**sum(total_sales)

Voici une requête valide qui associe des champs agrégés et des fonctions agrégées :

**FROM**orders**SHOW**average_order_value, sum(gross_sales)**GROUP BY**billing_region**SINCE**2021-01-01**UNTIL**2021-12-31

Cette requête renvoie la somme agrégée de la valeur moyenne du panier, la somme de ventes brutes grâce à la fonction sum. Ces indicateurs sont divisés par région de facturation pour toutes les commandes passées en 2021.

Prêt(e) à commencer à vendre avec Shopify ?

Essayez gratuitement