Loading

Data Cloud: 계산된 인사이트의 CONCAT 함수에서 빈 값 처리하기

게시 일자: Dec 2, 2025
상세 설명

값이 비어 있는 CONCAT 동작

CONCAT 함수는 일반적으로 여러 필드를 단일 문자열로 병합하는 데 사용됩니다. 그러나 연결된 필드에 NULL 값이 포함된 경우 연결 결과는 NULL이 됩니다. 이 동작은 누락되거나 비어 있는 값이 있을 수 있는 데이터로 작업할 때 특히 중요합니다.

쿼리 예시:

다음 SQL 쿼리를 살펴보겠습니다.

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

이 쿼리에서:

  • FullName_KQId__c는 하이픈(-)을 구분 기호로 사용하여 ssot__FirstName__cKQ_Id__c를 연결하는 방식으로 생성됩니다.

  • ssot__FirstName__c 또는 KQ_Id__c가 NULL이면 전체 FullName_KQId__c 필드가 NULL이 됩니다.

예상 출력

ssot__FirstName__cKQ_Id__cFullName_KQId__c
John123John - 123
JaneNULLNULL
NULL456NULL

 

솔루션

빈 값 처리를 위한 해결 방법

NULL 값이 연결된 결과에 영향을 미치지 않도록 하려면 CASE 문을 사용하여 NULL 값을 빈 문자열로 교체하는 것이 좋습니다. 예를 들면 다음과 같습니다.

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

주요 내용

  • CONCAT 함수의 필드가 NULL인 경우 전체 결과가 NULL이 됩니다.

  • CASE 문을 사용하여 NULL 값을 빈 문자열로 교체하고 연결이 예상대로 작동하는지 확인합니다.

  • 빈 값을 적절히 처리하면 예상하지 못한 데이터 손실을 방지하고 보고서의 정확성을 개선할 수 있습니다.

이러한 모범 사례를 구현하면 불완전한 데이터를 처리할 때에도 계산된 인사이트를 안정적이고 유의미하게 유지할 수 있습니다.

Knowledge 기사 번호

004269012

 
로드 중
Salesforce Help | Article