Loading
Salesforce Data 360 소개
인사이트용 SQL 규칙

인사이트용 SQL 규칙

Data 360에서 계산 또는 스트리밍 인사이트를 위한 SQL을 작성할 때 각 조항이 해석되는 방식과 적용되는 제약 사항이 규칙으로 지정됩니다. WHERE 또는 JOIN 절에 중첩된 하위 쿼리를 포함하여 외부 쿼리가 반환하는 행을 제한할 수도 있습니다.

필수 Edition

지원 제품: Data 360에서 지원하는 모든 Edition. Data 360 Edition 가용성을 참조하십시오.

조항별 쿼리 규칙

조항 규칙
일반 DMO 이름은 대/소문자를 구분합니다. SQL의 DMO 참조가 데이터 모델 탭의 개체 API 이름 열에 표시된 케이싱과 일치하는지 확인합니다.
쿼리에 측정값을 한 개 이상 포함해야 합니다. 측정값은 집계 함수에 래핑된 모든 필드입니다.
집계 함수 내에 없는 SELECT 절의 모든 특성은 치수로 취급되며 GROUP BY 절에 표시되어야 합니다.
집계 내에서 집계할 수 없습니다.
최상위 쿼리에서는 DISTINCT를 사용할 수 없습니다.
다중 행 댓글(/* */)을 사용할 수 있습니다.
SELECT 치수의 별칭은 필드의 원래 이름과 일치할 수 없습니다. 예를 들어, UnifiedIndividual__dlm.Id__c as customer_id__c가 유효하지만 UnifiedIndividual__dlm.Id__c as Id__c로 인해 오류가 발생합니다.
인사이트에 통화 필드가 포함된 경우 SELECT 절에서 TRY_CONVERT_CURRENCY을 사용해야 합니다.
WHERE WHERE 절은 집계 식을 포함할 수 없습니다.
WHERE 절은 치수 또는 측정값 별칭을 참조할 수 없습니다.
GROUP BY GROUP BY 절은 별칭이 아닌 집계 식이어야 합니다.
GROUP BY 절은 치수 별칭을 참조할 수 있지만 별칭은 식의 일부가 될 수 없습니다.
GROUP BY 절은 측정값 별칭 또는 집계 함수를 포함할 수 없습니다.
ORDER BY 최상위 SELECT 문에서는 ORDER BY가 허용되지 않습니다.
RANK RANK 함수 내의 PARTITION BY 및 ORDER BY는 집계 식 또는 집계 식이 될 수 있습니다.
집계 식을 포함하는 RANK 절은 측정값으로 취급됩니다.
RANK에서 생성된 측정값은 집계할 수 없으며, 쿼리할 때 정의된 모든 치수를 제공해야 합니다.
CASE 집계 함수를 포함하는 CASE 식은 측정값으로 취급됩니다.
CASE(WHEN <aggregate>)에서 생성한 측정값은 집계할 수 없습니다. 쿼리할 때 정의된 모든 치수를 입력해야 합니다.
날짜 필드 날짜 필드에서 빈 문자열을 필터링할 경우 Null 값을 대신 사용하십시오.

중첩된 하위 쿼리

하위 쿼리는 일반적으로 WHERE 또는 JOIN 절에 포함된 다른 쿼리 내에 포함된 쿼리입니다. 하위 쿼리를 사용하여 외부 쿼리가 검색하는 행을 제한하는 데이터를 반환합니다.

예를 들어 이 쿼리는 1980년 이후에 생성된 고객의 세일즈 주문 합계 평균을 계산합니다.

SELECT
  avg(SalesOrder__dlm.GrandTotalAmount__c) as avg__c,
  SubQuery1.Id as customer_id__c
FROM SalesOrder__dlm
JOIN (
  SELECT Individual__dlm.Id__c as Id
  FROM Individual__dlm
  WHERE year(Individual__dlm.BirthDate__c) > 1980
) as SubQuery1
ON SalesOrder__dlm.SoldToCustomerId__c = SubQuery1.Id
GROUP BY customer_id__c;
 
로드 중
Salesforce Help | Article