Loading

Data Cloud : traitement des valeurs vides dans la fonction CONCAT dans les Connaissances calculées

Date de publication: Dec 2, 2025
Description

Comportement de CONCAT avec des valeurs vides

La fonction CONCAT est généralement utilisée pour la fusion de plusieurs champs en une seule chaîne. Cependant, lorsque l'un des champs concaténés contient une valeur NULL, le résultat de la concaténation est NULL. Ce comportement est particulièrement important au moment de travailler avec des données pouvant avoir des valeurs manquantes ou vides.

Exemple de requête :

Observez la requête SQL suivante :

SELECT 
    CONCAT(ssot__Individual__dlm.ssot__FirstName__c, ' - ', ssot__Individual__dlm.KQ_Id__c) AS FullName_KQId__c, 
    COUNT(ssot__Individual__dlm.ssot__Id__c) AS RecordCount__c 
FROM ssot__Individual__dlm 
GROUP BY CONCAT(ssot__Individual__dlm.ssot__FirstName__c, ' - ', ssot__Individual__dlm.KQ_Id__c);

Dans cette requête :

  • FullName_KQId__c is created by concatenating ssot__FirstName__c and KQ_Id__c avec un trait d'union (-) comme séparateur.

  • Si ssot__FirstName__c ou KQ_Id__c est NULL, tout le champFullName_KQId__c sera NULL.

Sortie attendue

ssot__FirstName__cKQ_Id__cFullName_KQId__c
John123John - 123
JaneNULLNULL
NULL456NULL

 

Résolution

Solution pour la gestion de valeurs vides

Pour éviter que les valeurs NULL impactent le résultat concaténé, pensez à utiliser une instruction CASE pour remplacer les valeurs NULL par une chaîne vide. Par exemple :

SELECT 
    CONCAT( 
        CASE WHEN ssot__Individual__dlm.ssot__FirstName__c IS NULL THEN '' ELSE ssot__Individual__dlm.ssot__FirstName__c END, 
        ' - ', 
        CASE WHEN ssot__Individual__dlm.KQ_Id__c IS NULL THEN '' ELSE ssot__Individual__dlm.KQ_Id__c END 
    ) AS FullName_KQId__c, 
    COUNT(ssot__Individual__dlm.ssot__Id__c) AS RecordCount__c 
FROM ssot__Individual__dlm 
GROUP BY 
    CONCAT( 
        CASE WHEN ssot__Individual__dlm.ssot__FirstName__c IS NULL THEN '' ELSE ssot__Individual__dlm.ssot__FirstName__c END, 
' - ', 
        CASE WHEN ssot__Individual__dlm.KQ_Id__c IS NULL THEN '' ELSE ssot__Individual__dlm.KQ_Id__c END 
    );

Points clés à retenir

  • Si un champ dans la fonction CONCAT est NULL, tout le résultat est NULL.

  • Utilisez une instruction CASE pour remplacer les valeurs NULL par une chaîne vide et assurez-vous que la concaténation se passe comme prévu.

  • Une gestion appropriée des valeurs vides peut empêcher une perte de données imprévue et améliorer la précision des rapports.

En implémentant ces meilleures pratiques, vous pouvez vous assurer que vos connaissances calculées restent fiables et utiles, et ce même lorsque vous avez affaire à des données incomplètes.

Numéro d’article de la base de connaissances

004269012

 
Chargement
Salesforce Help | Article