清單分析規則 - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

清單分析規則

在中AWS Clean Rooms,清單分析規則會輸出其新增至的已配置資料表與可查詢之成員的已設定表格之間的重疊列層級清單。可以查詢的成員會執行包含清單分析規則的查詢。

清單分析規則類型支援使用案例,例如擴充和受眾建立。

如需有關此分析規則之預先定義的查詢結構和語法的詳細資訊,請參閱列出分析規則預先定義的

清單分析規則-查詢控制項定義的清單分析規則的參數具有查詢控制項。其查詢控制項包括選取可在輸出中列出的資料行的功能。查詢必須具有至少一個與可以直接或傳遞進行查詢的成員配置表格的聯結。

沒有像彙總分析規則一樣的查詢結果控制項。

清單查詢只能使用數學運算子。它們不能使用其他函數(例如聚合或標量)。

列出查詢結構和語法

對具有清單分析規則的資料表進行查詢,必須遵循下列語法。

--select_list_expression SELECT [TOP number ] DISTINCT column_name [[AS] column_alias ] [, ...] --table_expression FROM table_name [[AS] table_alias ] [[INNER] JOIN table_name [[AS] table_alias] ON join_condition] [...] --where_expression [WHERE where_condition] --limit_expression [LIMIT number]

下表說明上述語法中列出的每個運算式。

表達式 定義 範例
select_list_expression

包含至少一個表格資料欄名稱的逗號分隔清單。

DISTINCT參數是必需的。

注意

select_list_expression可以使用或不帶AS參數的別名列。

它還支持TOP參數。如需詳細資訊,請參閱 AWS Clean RoomsSQL 參考

SELECT DISTINCT segment

table_expression

join_condition來連接到的表格或表格聯結join_condition

join_condition返回一個布爾值。

table_expression持:

  • 一個特定的聯接類型(INNER連接)

  • ajoin_condition=)中的相等比較條件

  • 邏輯運算子 (ANDOR)。

FROM consumer_table INNER JOIN provider_table ON consumer_table.identifier1 = provider_table.identifier1 AND consumer_table.identifier2 = provider_table.identifier2
where_expression 傳回布林值的條件運算式。它可以由以下內容組成:
  • 資料表欄位名稱

  • 數學運算子

  • 字符串文字

  • 数字文字

支援的比較條件為 (=, >, <, <=, >=, <>, !=, NOT, IN, NOT IN, LIKE, IS NULL, IS NOT NULL)。

支援的邏輯運算子為 (AND, OR)。

where_expression是選擇性的。

WHERE state + '_' + city = 'NY_NYC'

WHERE timestampColumn = timestampColumn2 - 14

limit_expression

這個表達式必須採用正整數。它也可以與 TOP 參數進行交換。

limit_expression是選擇性的。

LIMIT 100

對於清單查詢結構和語法,請注意下列事項:

  • 不支援「選取」以外的 SQL 指令。

  • 不支援子查詢和一般資料表運算式 (例如WITH)

  • 不支援有GROUPBY、和訂單BY子句

  • 不支援偏移參數

清單分析規則-查詢控制項

透過清單查詢控制項,您可以控制如何使用資料表中的資料行來查詢資料表。例如,您可以控制哪個資料行用於聯結,或哪個資料行可以在 SELECT 陳述式和WHERE子句中使用。

以下各節將說明每個控制項。

加入控制

使用聯結控制項,您可以控制如何將資料表連接至 table_ expression 中的其他資料表。 AWS Clean Rooms僅支持INNER連接。在清單分析規則中,至少需要一個 INNER JOIN,且可以查詢的成員必須在 INNER JOIN 中包含自己擁有的資料表。這意味著他們必須直接或過渡地將您的桌子與他們的表加入。

以下是傳遞性的一個例子。

ON my_table.identifer = third_party_table.identifier .... ON third_party_table.identifier = member_who_can_query_table.id

INNERJOIN 陳述式只能使用已在分析規則joinColumn中明確分類為的資料行。

INNERJOIN 必須在您已配置的表格和協同作業joinColumn中另一個已配置的表格上進行操作。joinColumn您可以決定表格中的哪些欄可用作joinColumn

ON子句中的每個匹配條件都需要在兩列之間使用相等比較條件(=)。

ON子句中的多個匹配條件可以是:

  • 結合使用AND邏輯運算符

  • 使用OR邏輯運算符分隔

注意

所有JOIN符合條件都必須符合每一側的一列JOIN。由ORAND邏輯運算子連接的所有條件也必須遵守此要求。

以下是具有AND邏輯運算子的查詢範例。

SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id AND table1.name = table2.name

以下是具有OR邏輯運算子的查詢範例。

SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id OR table1.name = table2.name
控制項 定義 用量
joinColumns 您要允許查詢成員在 INNER JOIN 陳述式中使用的資料欄。

同一欄無法同時歸類為joinColumnlistColumn (請參閱清單控制項)。

joinColumn不能用於 INNER JOIN 以外的查詢的任何其他部分。

清單控制項

清單控制項控制項可以列在查詢輸出中 (也就是 SELECT 陳述式中使用) 或用來篩選結果 (也就是說,在WHERE陳述式中使用) 的資料行。

控制項 定義 用量
listColumns 您允許可以查詢的成員在 SELECT 和中使用的欄 WHERE A listColumn 可以在選擇和中使用WHERE。

同一列不能同時用作listColumnjoinColumn

列出分析規則預先定義的

下列範例包括顯示如何完成清單分析規則的預先定義結構。

在下面的例子中,MyTable是指您的數據表。您可以使用自己的資訊取代每個使用者輸入預留位置

{ "joinColumns": [MyTable column name(s)], "listColumns": [MyTable column name(s)], }

清單分析規則-範例

下面的例子演示了如何兩家公司可以AWS Clean Rooms使用列表分析進行協作。

A 公司擁有客戶關係管理(CRM)數據。A 公司希望獲得有關其客戶的其他細分數據,以了解有關其客戶的更多信息,並可能使用屬性作為其他分析的輸入。B 公司的區段資料包含他們根據其第一方資料建立的唯一區段屬性。B 公司只會針對其資料與 A 公司資料重疊的客戶,提供唯一的區段屬性給 A 公司。

公司決定合作,以便 A 公司可以豐富重疊的數據。A 公司是可以查詢的成員,B 公司是貢獻者。

要創建協作並在協作中運行列表分析,公司執行以下操作:

  1. 公司 A 會建立協同合作並建立成員資格。該合作將 B 公司作為該合作的另一個成員。公司 A 可在協同作業中啟用查詢記錄,並在其帳戶中啟用查詢記錄。

  2. B 公司會在協同合作中建立成員資格。它會在其帳戶中啟用查詢記錄。

  3. A 公司創建一個 CRM 配置的表

  4. 公司 A 會將分析規則新增至客戶設定的表格,如下列範例所示。

    { "joinColumns": [ "identifier1", "identifier2" ], "listColumns": [ "internalid", "segment1", "segment2", "customercategory" ] }

    joinColumns— A 公司希望使用hashedemail和/或thirdpartyid(從身份供應商那裡獲得)將 CRM 數據中的客戶與客戶從細分數據匹配。這將有助於確保 A 公司為合適的客戶匹配豐富的數據。他們有兩個連接列可能提高分析的匹配率。

    listColumns— A 公司用於獲listColumns得豐富的列旁邊internalid他們自己的系統中使用. 它們可customercategory以透過在篩選器中使用它們來新segment1segment2、並可能將擴充限制到特定區段。

  5. B 公司會建立區段設定的表格。

  6. B 公司會將分析規則新增至區段設定的表格。

    { "joinColumns": [ "identifier2" ], "listColumns": [ "segment3", "segment4" ] }

    joinColumns— B 公司使 A 公司能夠加入,identifier2以將客戶從細分數據到 CRM 數據進行匹配。A 公司和 B 公司與身份供應商合作,以獲得identifier2與此次合作相匹配的產品。他們沒有添加其他標識符,joinColumns因為他們認為identifier2提供了最高和最準確的匹配率,並且查詢不需要其他標識符。

    listColumns— B 公司使 A 公司能夠豐富他們的數據segment3segment4屬性,這些屬性是他們創建,收集和對齊的唯一屬性(與客戶 A)成為數據豐富的一部分。他們希望 A 公司能夠在列層級取得這些重疊區段,因為這是資料豐富協同合作。

  7. 公司 A 會建立與共同作業的 CRM 資料表關聯。

  8. B 公司會建立與協同合作的區段表格關聯。

  9. A 公司會執行查詢,例如下列查詢,以豐富重疊的客戶資料。

    SELECT companyA.internalid, companyB.segment3, companyB.segment4 INNER JOIN returns companyB ON companyA.identifier2 = companyB.identifier2 WHERE companyA.customercategory > 'xxx'
  10. A 公司和 B 公司會複查查詢記錄。B 公司會驗證查詢是否符合合作協議中同意的內容。