Regola di analisi delle liste - AWS Clean Rooms

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Regola di analisi delle liste

Nota

Si applica a: motore AWS Clean Rooms SQL di analisi

In AWS Clean Rooms, una regola di analisi degli elenchi genera elenchi a livello di riga della sovrapposizione tra la tabella configurata a cui viene aggiunta e le tabelle configurate del membro che può eseguire la query. Il membro che può eseguire query esegue query che includono una regola di analisi dell'elenco.

Il tipo di regola di analisi degli elenchi supporta casi d'uso come l'arricchimento e la creazione di audience.

Per ulteriori informazioni sulla struttura e sulla sintassi delle query predefinite per questa regola di analisi, vedere. Struttura predefinita della regola di analisi delle liste

I parametri della regola di analisi dell'elenco, definita inRegola di analisi delle liste: controlli di interrogazione, dispongono di controlli di interrogazione. I suoi controlli di interrogazione includono la possibilità di selezionare le colonne che possono essere elencate nell'output. La query deve avere almeno un join con una tabella configurata dal membro che può eseguire la query, direttamente o in modo transitivo.

Non esistono controlli sui risultati delle query come per la regola di analisi di aggregazione.

Le query di elenco possono utilizzare solo operatori matematici. Non possono utilizzare altre funzioni (come l'aggregazione o lo scalare).

Elenca la struttura e la sintassi delle interrogazioni

Le interrogazioni su tabelle che dispongono di una regola di analisi degli elenchi devono rispettare la sintassi seguente.

--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]

Nella tabella seguente vengono illustrate tutte le espressioni elencate nella sintassi precedente.

Expression Definizione Esempi
select_list_expression

Un elenco separato da virgole contenente almeno il nome di una colonna della tabella.

È richiesto un DISTINCT parametro.

Nota

Le colonne select_list_expression possono essere utilizzate come alias con o senza il AS parametro.

Supporta anche il TOP parametro. Per ulteriori informazioni, consulta il AWS Clean Rooms SQLReference.

SELECT DISTINCT segment

table_expression

Una tabella, o unione di tabelle, join_condition a cui collegarlajoin_condition.

join_conditionrestituisce un valore booleano.

I table_expression supporti:

  • Un JOIN tipo specifico (INNER JOIN)

  • Le condizioni di confronto dell'uguaglianza all'interno di a join_condition (=)

  • Operatori logici (AND,OR).

FROM consumer_table INNER JOIN provider_table ON consumer_table.identifier1 = provider_table.identifier1 AND consumer_table.identifier2 = provider_table.identifier2
where_expression Un'espressione condizionale che restituisce un valore booleano. Può essere composta dai seguenti elementi:
  • Nomi di colonna delle tabelle

  • Operatori matematici

  • Stringhe letterali

  • Letterali numerici

Le condizioni di confronto supportate sono ()=, >, <, <=, >=, <>, !=, NOT, IN, NOT IN, LIKE, IS NULL, IS NOT NULL.

Gli operatori logici supportati sono (AND, OR).

where_expressionÈ facoltativo.

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

WHERE timestampColumn = timestampColumn2 - 14

limit_expression

Questa espressione deve assumere un numero intero positivo. Può anche essere scambiato con un TOP parametro.

Il limit_expression è facoltativo.

LIMIT 100

Per quanto riguarda la struttura e la sintassi delle query di elenco, tenete presente quanto segue:

  • SQLi comandi diversi da non SELECT sono supportati.

  • Sottoquery ed espressioni di tabella comuni (ad esempio, WITH) non sono supportate

  • HAVING, GROUP BY, e ORDER BY le clausole non sono supportate

  • OFFSETil parametro non è supportato

Regola di analisi delle liste: controlli di interrogazione

Con i controlli di interrogazione degli elenchi, puoi controllare come le colonne della tabella vengono utilizzate per interrogare la tabella. Ad esempio, è possibile controllare quale colonna viene utilizzata per l'unione o quale colonna può essere utilizzata nell'SELECTistruzione e WHERE clausola.

Nelle sezioni seguenti viene illustrato ogni controllo.

Unisci i controlli

Con i controlli Join, puoi controllare come la tua tabella può essere unita ad altre tabelle in table_expression. AWS Clean Rooms supporta solo INNER JOIN. Nella regola di analisi dell'elenco, almeno una INNER JOINè obbligatorio e il membro che può eseguire la query deve includere una tabella di sua proprietà nella INNER JOIN. Ciò significa che devono unire il tuo tavolo al loro, direttamente o transitivamente.

Di seguito è riportato un esempio di transitività.

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

INNER JOINle istruzioni possono utilizzare solo colonne che sono state esplicitamente classificate come una joinColumn nella regola di analisi.

Il INNER JOINdeve operare su una joinColumn tabella configurata e su un'altra tabella configurata all'interno della collaborazione. joinColumn Sei tu a decidere quali colonne della tabella possono essere utilizzate comejoinColumn.

Ogni condizione di partita all'interno di ON è necessaria una clausola per utilizzare la condizione di confronto di uguaglianza (=) tra due colonne.

Condizioni di corrispondenza multiple all'interno di un ON la clausola può essere:

  • Combinato utilizzando l'operatore AND logico

  • Separato utilizzando l'operatore OR logico

Nota

Tutti JOIN le condizioni di partita devono corrispondere a una riga su ciascun lato del JOIN. Anche tutti i condizionali collegati da un operatore logico OR o da un operatore AND logico devono rispettare questo requisito.

Di seguito è riportato un esempio di interrogazione con un operatore logicoAND.

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

Di seguito è riportato un esempio di interrogazione con un operatore OR logico.

SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id OR table1.name = table2.name
Controllo Definizione Utilizzo
joinColumns Le colonne che si desidera consentire al membro che può eseguire la query di utilizzare in INNER JOINdichiarazione.

La stessa colonna non può essere classificata sia come a joinColumn che come listColumn (vediElenca i controlli).

joinColumnnon può essere utilizzato in altre parti della query diverse da INNER JOIN.

Elenca i controlli

I controlli elenco controllano le colonne che possono essere elencate nell'output della query (ovvero utilizzate nell'SELECTistruzione) o utilizzate per filtrare i risultati (ovvero utilizzate in WHERE dichiarazione).

Controllo Definizione Utilizzo
listColumns Le colonne che consenti al membro che può eseguire la query di utilizzare in SELECT e WHERE A listColumn può essere utilizzato in SELECT e WHERE.

La stessa colonna non può essere utilizzata sia come che come listColumnjoinColumn.

Struttura predefinita della regola di analisi delle liste

L'esempio seguente include una struttura predefinita che mostra come completare una regola di analisi dell'elenco.

Nell'esempio seguente, MyTable fa riferimento alla tabella di dati. È possibile sostituire ciascuno di essi user input placeholder con le proprie informazioni.

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

Regola di analisi delle liste: esempio

L'esempio seguente dimostra come due aziende possono collaborare AWS Clean Rooms utilizzando l'analisi delle liste.

La società A dispone di dati sulla gestione delle relazioni con i clienti (CRM). La società A desidera ottenere dati di segmento aggiuntivi sui propri clienti per saperne di più sui propri clienti e potenzialmente utilizzare gli attributi come input per altre analisi. L'azienda B dispone di dati sui segmenti composti da attributi di segmento unici creati sulla base dei dati di prima parte. La società B desidera fornire gli attributi univoci del segmento alla società A solo ai clienti che si sovrappongono tra i loro dati e i dati dell'azienda A.

Le aziende decidono di collaborare in modo che l'azienda A possa arricchire i dati sovrapposti. La società A è il socio che può effettuare le domande e la società B è il collaboratore.

Per creare una collaborazione ed eseguire l'analisi degli elenchi in collaborazione, le aziende eseguono le seguenti operazioni:

  1. L'azienda A crea una collaborazione e crea un'iscrizione. La collaborazione ha l'azienda B come altro membro della collaborazione. La società A consente la registrazione delle interrogazioni nella collaborazione e la registrazione delle query nel proprio account.

  2. L'azienda B crea un'appartenenza alla collaborazione. Consente la registrazione delle interrogazioni nel proprio account.

  3. La società A crea una tabella CRM configurata

  4. La società A aggiunge la regola di analisi alla tabella configurata dal cliente, come mostrato nell'esempio seguente.

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

    joinColumns— La società A desidera utilizzare hashedemail e/o thirdpartyid (ottenuto da un fornitore di identità) abbinare i clienti dai CRM dati ai clienti dei dati del segmento. Ciò contribuirà a garantire che l'azienda A abbini dati arricchiti per i clienti giusti. Ne hanno due joinColumns per migliorare potenzialmente il tasso di corrispondenza dell'analisi.

    listColumns— La società A le utilizza accanto listColumns per ottenere colonne arricchite e internalid le utilizza all'interno dei propri sistemi. segment1Aggiungono segment2 e customercategory potenzialmente limitano l'arricchimento a segmenti specifici utilizzandoli nei filtri.

  5. La società B crea una tabella configurata per segmenti.

  6. La società B aggiunge la regola di analisi alla tabella configurata del segmento.

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

    joinColumns— La società B consente all'azienda A di partecipare identifier2 per abbinare i clienti dai dati del segmento ai CRM dati. La società A e la società B hanno collaborato con il fornitore di identità per ottenere identifier2 una soluzione adatta a questa collaborazione. Non ne hanno aggiunti altri joinColumns perché ritenevano che identifier2 fornisse il tasso di corrispondenza più elevato e preciso e non fossero necessari altri identificatori per le query.

    listColumns— L'azienda B consente all'azienda A di arricchire i propri dati con segment3 segment4 attributi unici che ha creato, raccolto e utilizzato (con il cliente A) per contribuire all'arricchimento dei dati. Vogliono che l'azienda A ottenga questi segmenti per la sovrapposizione a livello di riga perché si tratta di una collaborazione per l'arricchimento dei dati.

  7. La società A crea un'associazione CRM tabellare alla collaborazione.

  8. La società B crea un'associazione di tabelle di segmenti alla collaborazione.

  9. L'azienda A esegue interrogazioni, come la seguente, per arricchire i dati sovrapposti dei clienti.

    SELECT companyA.internalid, companyB.segment3, companyB.segment4 INNER JOIN returns companyB ON companyA.identifier2 = companyB.identifier2 WHERE companyA.customercategory > 'xxx'
  10. L'azienda A e la società B esaminano i registri delle interrogazioni. La società B verifica che la richiesta sia in linea con quanto concordato nell'accordo di collaborazione.