Création d’une colonne calculée SQL
Cette rubrique décrit l’objectif et les utilisations du type de colonne Calculation
, qui peut être ajouté aux tableaux à l’aide du Gestionnaire de Data Warehouse. Vous trouverez ci-dessous des explications sur les calculs SQL, les raisons de leur utilisation, le processus de création d’un calcul SQL, ainsi que deux exemples.
Explication
Dans le passé, les colonnes considérées advanced
ne pouvaient être effectuées que par un analyste de l’équipe du succès client ici à l’adresse Adobe Commerce Intelligence. Désormais, toute la puissance est entre les mains de l’utilisateur final et des colonnes avancées peuvent être créées sous la forme de SQL Calculation
colonnes sur la nouvelle architecture Commerce Intelligence.
Le type de colonne Calculation
, désormais disponible en tant qu’option dans Data Warehouse Manager, est une même opération de table qui permet de transformer les colonnes d’une table à l’aide de la logique PostgreSQL. Vous trouverez de la documentation sur les fonctions et opérateurs pouvant être utilisés dans le type de colonne Calculation
sur le site Web PostgreSQL ici.
Les différentes colonnes qui peuvent être créées avec la colonne Calculation
sont presque illimitées, mais la plupart des colonnes peuvent être créées à l’aide d’instructions IF-THEN et d’une arithmétique de base, qui est utilisée dans les exemples ci-dessous.
Exemple 1 : La dernière commande du client ?
La plupart des comptes ont une colonne appelée Is customer's last order?
sur leur table orders
pour effectuer des analyses sur les taux d’achat répétés et les clients connectés. Si votre compte repose sur la nouvelle architecture, cette colonne est créée à l’aide d’une colonne Calculation
et vous pouvez la voir dans la capture d’écran ci-dessous :
La colonne Is customer's last order?
utilise les entrées Customer's lifetime number of orders
et Customer's order number
en alias A
et B
respectivement.
Ligne par ligne, la signification du PostgreSQL est :
- case : cela commence une série d’instructions If - Then
- lorsque
A
est nul ouB
est nul, puis nul : si l’entrée est vide, la sortie doit également être vide. Cela permet d’éviter les erreurs SQL. - lorsque
A=B
puisYes
: siCustomer's lifetime number of orders
est égal àCustomer's order number
pour cette ligne, alors renvoieYes
. Ainsi, si un client a passé quatre commandes, la ligne correspondant à sa quatrième commande renverraYes
pourIs customer's last order?
- else
No
: si aucune des autres conditions n’est remplie, returnNo
- end : cela met fin aux instructions if - Then
Les valeurs possibles qui peuvent être renvoyées par cette colonne (NULL
, Yes
, No
) contiennent des caractères non numériques. Par conséquent, le type de données ici est String.
Exemple 2 : valeur totale de l’élément de commande (quantité * prix)
De nombreux clients aiment analyser les recettes au niveau de l’élément en les divisant par des champs comme product name
ou category
. La plupart des bases de données ne donnent pas réellement les recettes d’un produit dans une commande ; elles indiquent plutôt la quantité vendue dans la commande et le prix de l’article.
Pour activer l’analyse des recettes de produits, la plupart des comptes ont une colonne appelée Order item total value (quantity * price)
sur leur table Orders Items
. Si votre compte repose sur la nouvelle architecture, cette colonne est également créée à l’aide d’une colonne Calculation
et vous pouvez la voir dans la capture d’écran ci-dessous :
Dans le schéma Commerce, la colonne Order item total value (quantity * price)
utilise les entrées qty ordered
et base price
en alias respectivement A
et B
.
Les valeurs renvoyées par cette nouvelle colonne sont en euros et en centimes, le type de données correct est donc Decimal(10,2)
.
Mécanique
Une nouvelle colonne Calculation
peut être ajoutée à un tableau en accédant à Manage Data > Data Warehouse comme illustré ci-dessous :
À partir de là, vous pouvez créer une colonne Calculation
en suivant les étapes ci-dessous :
-
Sélectionnez la table sur laquelle vous souhaitez ajouter la colonne
Calculation
. -
Sur la bonne table, cliquez sur Create New Column en haut à droite de l’écran.
-
Dans la liste déroulante
Select a definition
, sélectionnezSame Table
. -
Sélectionnez
Calculation
commecolumn definition equation
. -
Saisissez le nom de la colonne.
-
Sélectionnez les colonnes
input
de la table utilisées dans la logique pour votre nouvelle colonne. Chaque colonne que vous ajoutez reçoit un alias de lettre, donc la première colonne estA
, la seconde estB
, etc. -
Dans la fenêtre, saisissez la logique PostgreSQL pour votre nouvelle colonne à l’aide des alias de lettre de vos entrées. Le calcul SQL doit être limité à une seule définition de colonne, incluant toute la logique entre les instructions SELECT et FROM d’une requête SQL. Les mots-clés SQL utilisant l’une des lettres d’entrée doivent être en minuscules. Par exemple, lors de l’utilisation de l’instruction
CASE
, elle doit être écrite en minuscules -case
. Le système suppose qu’unA
majuscule fait référence à l’une des entrées. -
Choisissez le type de données approprié.
Integer
- Nombre entierDecimal(10,2)
: nombre décimal contenant 10 chiffres au total, dont 2 situés à droite du point décimalString
- Tout type de texte ou série de caractères qui n’utilisent pas de nombresDatetime
-yyyy-MM-dd hh:mm:ss
format
-
Cliquez sur test column. Cela génère une liste de cinq valeurs de test pour chacune de vos entrées et affiche le résultat de la logique de l’étape 6 pour chaque ensemble de valeurs de test. Si une partie du code SQL génère une erreur, le message d’erreur approprié est renvoyé. Les exemples de résultats ne peuvent être générés que si toutes les colonnes d’entrée sont des champs natifs. Si l’une des colonnes d’entrée est des colonnes calculées, vous devez valider les résultats en ajoutant la colonne à une mesure et en la visualisant dans le Report Builder Visuel.
-
Lorsque les résultats vous conviennent, cliquez sur Save. La colonne est utilisable.