Skip to main content

Découverte des concepts SQL

Objectifs d’apprentissage

Après avoir terminé cette unité, vous pourrez :

  • Apprendre les termes et concepts SQL
  • Comprendre la structure SQL des connaissances Data Cloud

Connaissances dans Data Cloud

Vos données sont importées dans Salesforce Data Cloud depuis plusieurs sources. Les connaissances vous permettent de créer des métriques et d’organiser, de regrouper et de manipuler les données de votre compte. Il existe deux types de connaissances fondées sur SQL (Structured Query Language) : calculées et en continu. Les connaissances calculées permettent des calculs complexes fondés sur des données stockées, et les connaissances en continu sont créées sur la base de données en temps réel. Comme indiqué dans Création de connaissances dans Data Cloud, il existe différentes manières de créer des connaissances dans Data Cloud. SQL est l’une d’entre elles. Même s’il n’est pas nécessaire d’être un expert en SQL pour générer des connaissances, il est utile de savoir comment le langage SQL est utilisé pour les créer. Ce module couvre les concepts SQL de base et fournit des exemples pour vous aider à créer des connaissances dans votre compte.

Termes relatifs à l’élaboration de connaissances

Tout d’abord, passons en revue quelques termes courants associés aux connaissances.

  • Flux de données : les flux de données sont des sources de données introduites dans Salesforce Data Cloud. Par exemple, une extension de données client Marketing Cloud.
  • Objets modèle de données (DMO) : les flux de données sont mappés à un modèle de données selon les objets modèle de données. Les objets modèle de données courants incluent les commandes client, l’identification des parties, les données d’engagement, etc.
  • Attributs : les attributs sont des champs d’informations dans un flux de données. Par exemple, un attribut peut être le prénom ou l’ID de client d’une personne.
  • Mesures : les mesures contiennent des valeurs agrégées d’attributs, comme le montant total dépensé ou le montant moyen de commande.
  • Dimensions : les dimensions contiennent des valeurs qualitatives qui peuvent être utilisées pour classer une mesure. Par exemple, si vous souhaitez voir le montant total dépensé par chaque client, l’ID de client peut être une dimension associée à la mesure du montant total dépensé.
  • Clé étrangère : la clé étrangère est une colonne d’une base de données relationnelle qui fournit un lien entre les sources de données, par exemple un numéro d’ID de client.
  • Clé qualifiée complète : une clé qualifiée complète (FQK) est une clé composée qui contient une clé source telle qu’un ID de contact de CRM ou un ID d’abonné de Marketing Cloud, ainsi qu’un qualificateur de clé. Utilisez des clés qualifiées complètes pour éviter les conflits de clés lorsque les données provenant de différentes sources sont harmonisées dans le modèle de données Data Cloud.
  • Clé principale : un identificateur unique d’un enregistrement sélectionné par l’utilisateur, par exemple, une adresse e-mail de client ou une UGS de produit.

Structure SQL

Maintenant que vous connaissez les termes courants, examinons les mots-clés SQL et la structure utilisés pour créer des connaissances Data Cloud. SQL est écrit sous la forme d’une instruction ou d’une expression composée de mots-clés.

Ces mots-clés incluent :

SELECT : choisissez le nom d’API du champ de l’attribut et le calcul que vous souhaitez effectuer.

FROM : identifiez le nom d’API de l’objet de la source de données dans laquelle vous souhaitez effectuer une recherche.

JOIN (facultatif) : utilisez ce mot-clé pour rechercher également des données provenant d’une autre source de données en fonction de critères spécifiés. WHERE (facultatif) : utilisez ce mot-clé pour inclure une instruction conditionnelle sur les données. GROUP BY : identifiez comment organiser ou classer la mesure que vous avez sélectionnée.

Voici comment une instruction SQL est écrite.

SELECT <Attributes>, <Aggregation[_Measures_]>
FROM <Data Model Object>
JOIN [Inner | Left | Right | Full] <Data Model Object> [Optional]
WHERE <predicate on rows> [Optional]
GROUP BY <columns[_Dimensions_]>

Exemple

Voici un exemple qui interroge le montant total dépensé par un client.


SELECT
  SUM(ssot__SalesOrder__dlm.ssot__GrandTotalAmount__c) AS customer_spend__c,
  ssot__Individual__dlm.ssot__Id__c AS customer_id__c,
  ssot_Individual__dlm.KQ_Id__c AS kq_customer_id__c
FROM ssot__SalesOrder__dlm
JOIN ssot__Individual__dlm
ON (ssot__SalesOrder__dlm.ssot__SoldToCustomerId__c = ssot__Individual__dlm.ssot__Id__c)
AND IFNULL(ssot__SalesOrder__dlm.KQ_SoldToCustomerId__c, ‘’) = IFNULL(ssot__Individual__dlm.KQ_Id__c, ‘’)
WHERE
(ssot__SalesOrder__dlm.ssot__CreatedDate__c <= date_add(current_date(), 365.0))
GROUP BY
customer_id__c, kq_customer_id__c

Examinons davantage chacune de ces sections.

Section 1

SELECT
  SUM(ssot__SalesOrder__dlm.ssot__GrandTotalAmount__c) AS customer_spend__c,
  ssot__Individual__dlm.ssot__Id__c AS customer_id__c,
  ssot_Individual__dlm.KQ_Id__c AS kq_customer_id__c

Fonction : définit les informations que vous recherchez (dépenses client) et la manière dont vous souhaitez agréger cette mesure (somme). Lorsqu’une métrique (dépenses client) est calculée, elle est stockée en tant que mesure customer_spend__c dans le système. S

Section 2

FROM ssot__SalesOrder__dlm

Fonction : identifie la source des données (l’objet modèle de données de la commande client).

Section 3


JOIN
 ssot__Individual__dlm
ON
(ssot__SalesOrder__dlm.ssot__SoldToCustomerId__c = ssot__Individual__dlm.ssot__Id__c)
AND IFNULL(ssot__SalesOrder__dlm.KQ_SoldToCustomerId__c, ‘’) = IFNULL(ssot__Individual__dlm.KQ_Id__c, ‘’)

Fonction : combine les données d’un autre objet modèle de données (un objet de données individuel) avec l’objet modèle de données de la commande client. ON détermine le point de connexion ou la clé étrangère entre vos objets modèle de données. Dans cet exemple, la clé étrangère entre les deux objets modèle de données comprend deux champs : l’ID de partie et le champ de qualificateur de clé de l’objet modèle de données SalesOrder, ainsi que l’ID et le champ de qualificateur de clé correspondant de l’objet modèle de données Individu. Le fait d’inclure les attributs de qualificateur de clé dans la jointure de tables garantit l’exactitude des données. Utilisez la fonction ISNULL() au cas où les qualificateurs de clé n’auraient pas été configurés sur tous les objets lac de données sous-jacents. Il peut y avoir un mélange d’espaces vides et IFNULL() créera alors une cohérence afin d’améliorer la précision de JOIN.

Section 4

WHERE
ssot__SalesOrder__dlm.ssot__CreatedDate__c <= date_add(current_date(), 365.0))

Fonction : identifie les données que vous souhaitez ou ne souhaitez pas inclure. Dans cet exemple, la requête ne doit pas inclure les clients qui ont dépensé de l’argent plus de 365 jours en arrière à compter de la date actuelle.

Section 5

GROUP BY
customer_id__c, kq_customer_id__c

Fonction : détermine votre dimension ou la manière dont vous souhaitez regrouper vos données (par ID de client et par attribut de qualificateur de clé pour l’ID de client).

Objets modèle de données

La première partie de l’expression SQL se concentre sur la sélection d’attributs et de mesures fondées sur un objet modèle de données. Il est donc essentiel de connaître votre modèle de données. Passons en revue quelques objets modèle de données courants et les attributs mesurables associés.

Objet modèle de données

Utilisation

Exemple d’attribut mesurable

Partie

Définit les personnes avec lesquelles vous entretenez des relations, généralement des clients. La partie comprend des profils d’individus unifiés, qui sont souvent utilisés dans des connaissances calculées.

  • Date de naissance dans 7 jours

Product (Produit)

Définit tout ce que vous envisagez de vendre ou toute partie d’un produit à suivre à des fins de service.

  • Chaussures pour femmes à plus de 50 $

Commande

Définit les revenus, les opportunités, les achats et les commandes client.

  • Valeur du panier supérieure à 500 $

Données d’engagement

Définit les interactions ou les activités des clients, généralement associées à l’engagement par e-mail.

  • Au moins 5 clics sur les e-mails

Données de requête

Définit tous les problèmes enregistrés ou tickets de support.

  • Nombre de tickets ouverts >1 au cours de l’année passée

Fonctions SQL

Vous avez découvert les termes SQL, la structure et vos données. Il est temps d’ajouter des fonctions plus complexes pour interroger et manipuler davantage les données. Examinons plus en détail certaines fonctions disponibles.

Jointures SQL

Pour comprendre les jointures SQL, examinons quelles données seraient fournies dans votre requête en fonction du type de jointure. Nous utilisons deux exemples d’objets modèle de données pour décrire les quatre types de jointures suivants.

  • Objet modèle de données 1 : Commande
  • Objet modèle de données 2 : clients individuels

Jointure interne, jointure gauche, jointure droite et jointure complète.

JOINTURE ou JOINTURE INTERNE

JOINTURE GAUCHE

JOINTURE DROITE

JOINTURE COMPLÈTE

Description

Renvoie les enregistrements dont les valeurs correspondent dans les deux objets modèle de données.

Exclut les enregistrements que nous ne voulons pas de l’objet modèle de données 2.

Exclut les enregistrements que nous ne voulons pas de l’objet modèle de données 1.

Renvoie tous les enregistrements correspondants des deux objets modèle de données.

Résultat

Commandes client spécifiques pour des clients spécifiques.

Toutes les commandes client et les commandes client pour des clients spécifiques.

Tous les clients et quelques commandes client pour des clients spécifiques.

Toutes les commandes client et tous les clients, y compris certains enregistrements correspondants.

Remarque

Vous aimeriez savoir comment les objets modèle de données sont liés aux profils unifiés ? Consultez cette page d’aide pour obtenir plus d’informations sur la liaison et la jointure de données.

Case (Requête)

Une autre fonction SQL courante est l’instruction CASE, qui peut être utilisée pour créer des dimensions. CASE peut être utilisée pour renvoyer une valeur lorsqu’une condition est remplie.

SELECT CASE
WHEN
SUM(SALESORDER__dlm.grand_total_amount__c) < 100 THEN 'Low Spender'
End as Spend_Type__c

Fonction : Lorsqu’un client dépense moins de 100 $, il est identifié comme peu dépensier. Lorsqu’une condition est vraie, la lecture s’arrête et un résultat est renvoyé. Si aucune condition n’est vraie, la valeur est renvoyée dans la clause ELSE. S’il n’y a pas de partie ELSE et qu’aucune condition n’est vraie, NULL est renvoyé.

Fonctions de formatage

Parfois, vous devez exécuter quelques fonctions de nettoyage avant de créer votre connaissance calculée finale. Vous pouvez le faire à l’aide de fonctions de formatage. Voici un exemple utilisant la fonction ROUND pour arrondir une valeur à une décimale spécifiée.

Voici la syntaxe spécifique de cette fonction.

ROUND(expression, number of decimal places)

Voici un exemple utilisant cette expression pour arrondir une commande client.

SELECT ROUND(Salesorder_dlm.total_amount, 2)

Fonction : au lieu d’afficher les dépenses totales du client à 143,5555 $, cette fonction arrondirait à deux décimales et le résultat serait 143,55 $.

Plus de fonctions

Il existe de nombreuses autres fonctions que vous pouvez ajouter à vos instructions SQL pour affiner davantage vos résultats. Il est utile d’identifier votre cas d’utilisation, puis d’examiner les fonctions possibles qui peuvent vous permettre d’obtenir les données souhaitées.

Remarque

Consultez la page Utilisation d’instructions SQL dans Data Cloud pour apprendre toutes les fonctions disponibles.

Étude d’exemples

Maintenant que vous comprenez les concepts de base de SQL et connaissez la structure, examinons quelques exemples dans l’unité suivante afin de vous aider à résoudre vos propres cas d’utilisation.

Ressources

Haut de page

Partagez vos commentaires sur Trailhead dans l'aide Salesforce.

Nous aimerions connaître votre expérience avec Trailhead. Vous pouvez désormais accéder au nouveau formulaire de commentaires à tout moment depuis le site d'aide Salesforce.

En savoir plus Continuer à partager vos commentaires