この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

DBT セグメントでサポートされる検証

セグメントを作成または更新するときは、Data Cloud Segment Input リクエストボディが SQL 検証の対象になる場合があります。

セグメントを作成するには、Data Cloud Segment Input リクエストボディとともに /ssot/segments リソースを使用します。同様に、セグメントを更新するには、同じリクエストボディとともに /ssot/segments/segmentApiName リソースを使用します。Data Cloud Segment Input リクエストボディ内でネストされている Data Cloud Segment Dbt Model Input リクエストボディは、SQL の検証を提供します。

Data Cloud Segment Dbt Model Input の sql プロパティは、これらの検証の対象です。

  • select ステートメントでは、SegmentOn DMO の主キーのみが許可されます。join 句の先頭のテーブルは、プロファイルテーブルでなければなりません。
    • 最上位の select では、集計 (min、max、avg、count) は許可されません。
      1---FAIL
      2select max(Individual_dense_viv__dlm.age__c) from Individual_dense_viv__dlm
      3---FAIL
      4select count(Individual_dense_viv__dlm.individualid__c) from Individual_dense_viv__dlm
      5---
    • 最上位の select では、すべて選択 (*) の式は許可されません。
      1---FAIL
      2select * from Individual_dense_viv__dlm
    • 選択できるのは、テーブル (sql ステートメント from 句の先頭のテーブル) のセグメントの主キーのみです。
      1---PASS
      2select Individual_dense_viv__dlm.individualid__c from Individual_dense_viv__dlm
    • 複数の列の 1 つがテーブルの主キーであっても、複数の列を選択することはできません。
      1---FAIL
      2select Individual_dense_viv__dlm.individualid__c,
      3Individual_dense_viv__dlm.age__c from Individual_dense_viv__dlm
    • 主 select では、case ステートメントは許可されません。
      1---FAIL
      2select
      3    case
      4        when Individual_dense_viv__dlm.individualid__c > 10 then Individual_dense_viv__dlm.individualid__c
      5        else null
      6    end
      7from
      8    Individual_dense_viv__dlm
  • クエリおよび後続のクエリでは、すべての列をテーブル名で完全に修飾する必要があります。
    1---FAIL
    2select individualid__c from Individual_dense_viv__dlm
  • サブクエリは where 句でのみサポートされ、1 つの列のみを発行する必要があります。
    1---FAIL
    2select Individual_dense_viv__dlm.individualid__c from (select * from Individual_dense_viv__dlm)
  • limit と offset がサポートされます。
    1---FAIL
    2select Individual_dense_viv__dlm.individualid__c from Individual_dense_viv__dlm limit 10
  • select ステートメント以外の sql ステートメントは許可されません。
    1---FAIL
    2update Individual_dense_viv__dlm set Individual_dense_viv__dlm.individualid__c = 'aa'