Loading

Data Cloud: Umgang mit leeren Werten in der CONCAT-Funktion in berechneten Statistiken

Veröffentlichungsdatum: Dec 2, 2025
Beschreibung

Verhalten von CONCAT mit leeren Werten

Die Funktion CONCAT wird häufig verwendet, um mehrere Felder in einer einzelnen Zeichenfolge zusammenzuführen. Wenn jedoch eines der verketteten Felder einen NULL-Wert enthält, lautet das Ergebnis der Verkettung NULL. Dieses Verhalten ist besonders wichtig bei der Arbeit mit Daten, die eventuell fehlende oder leere Werte enthalten.

Beispiel für eine Abfrage:

Betrachten wir folgende SQL-Abfrage:

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);

In dieser Abfrage gilt Folgendes:

  • FullName_KQId__c wird erstellt durch die Verkettung von ssot__FirstName__c und KQ_Id__c mit einem Bindestrich (-) als Trennzeichen.

  • Wenn entweder ssot__FirstName__c oder KQ_Id__c NULL ist, wird das gesamte Feld FullName_KQId__c NULL sein.

Erwartete Ausgabe

ssot__FirstName__cKQ_Id__cFullName_KQId__c
John123John - 123
JaneNULLNULL
NULL456NULL

 

Lösung

Problemumgehung für leere Werte

Um zu verhindern, dass NULL-Werte Auswirkungen auf das verkettete Ergebnis haben, können Sie eine CASE-Anweisung verwenden, um NULL-Werte durch eine leere Zeichenfolge zu ersetzen. Beispiel:

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 
    );

Wichtige Erkenntnisse

  • Wenn ein Feld in der CONCAT-Funktion NULL ist, lautet das gesamte Ergebnis NULL.

  • Verwenden Sie eine CASE-Anweisung, um NULL-Werte durch eine leere Zeichenfolge zu ersetzen, damit die Verkettung das erwartete Ergebnis liefert.

  • Ein korrekter Umgang mit leeren Werten kann unerwartete Datenverluste verhindern und die Genauigkeit von Berichten verbessern.

Durch das Implementieren dieser Best Practices können Sie sicherstellen, dass Ihre berechneten Statistiken auch bei unvollständigen Daten weiterhin zuverlässig und aussagekräftig bleiben.

Nummer des Knowledge-Artikels

004269012

 
Laden
Salesforce Help | Article