As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Regra de análise de lista
nota
Aplica-se a: Mecanismo de análise AWS Clean Rooms SQL
Em AWS Clean Rooms, uma regra de análise de lista gera listas em nível de linha da sobreposição entre a tabela configurada à qual ela foi adicionada e as tabelas configuradas do membro que pode consultar. O membro que pode consultar executa consultas que incluem uma regra de análise de lista.
O tipo de regra de análise de lista oferece suporte a casos de uso como enriquecimento e criação de público.
Para obter mais informações sobre a estrutura de consulta e a sintaxe predefinidas para essa regra de análise, consulte Estrutura predefinida da regra de análise de listas.
Os parâmetros da regra de análise de lista, definidos em Regra de análise de lista - controles de consulta, têm controles de consulta. Seus controles de consulta incluem a capacidade de selecionar as colunas que podem ser listadas na saída. É necessário que a consulta tenha pelo menos uma junção com uma tabela configurada do membro que pode consultar, direta ou transitivamente.
Não há controles de resultados de consulta como os da regra de análise de agregação.
As consultas de lista só podem usar operadores matemáticos. Eles não podem usar outras funções (como agregação ou escalar).
Tópicos
Estrutura e sintaxe da consulta de lista
As consultas em tabelas que têm uma regra de análise de lista devem seguir a sintaxe a seguir.
--
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]
A tabela a seguir explica cada expressão listada na sintaxe anterior.
Expressão | Definição | Exemplos |
---|---|---|
|
Uma lista separada por vírgulas contendo pelo menos um nome de coluna de tabela. Um parâmetro nota
Ele também suporta o parâmetro |
|
|
Uma tabela, ou junção de tabelas, com
|
|
|
Uma expressão condicional que retorna um Booleano. Pode ser composto pelo seguinte:
As condições de comparação suportadas são ( Os operadores lógicos suportados são (
|
|
|
Essa expressão deve ter um inteiro positivo. Também pode ser trocado por um parâmetro TOP.
|
|
Para a estrutura e a sintaxe de consulta de lista, lembre-se de que:
-
Comandos SQL diferentes de SELECT não são suportados.
-
Subconsultas e expressões de tabela comuns (por exemplo, WITH) não são suportados
-
TENDO, GROUP BY, e PEDIDO BY cláusulas não são suportadas
-
O parâmetro OFFSET não é suportado
Regra de análise de lista - controles de consulta
Com os controles de consulta de lista, você pode controlar como as colunas em sua tabela são usadas para consultar a tabela. Por exemplo, você pode controlar qual coluna é usada para unir ou qual coluna pode ser usada na instrução SELECT e WHERE cláusula.
As seções a seguir explicam cada controle.
Controles de junção
Com os controles de junção, você pode controlar como sua tabela pode ser unida a outras tabelas na table_expression. AWS Clean Rooms somente suporta INNER UNIR. Na regra de análise de lista, pelo menos um INNER JOIN é obrigatório e o membro que pode consultar deve incluir uma tabela de sua propriedade no INNER UNIR. Isso significa que eles devem unir sua mesa à deles, direta ou transitivamente.
A seguir está um exemplo de transitividade.
ON my_table.identifer = third_party_table.identifier .... ON third_party_table.identifier = member_who_can_query_table.id
INNER As instruções JOIN só podem usar colunas que tenham sido explicitamente categorizadas como joinColumn
em sua regra de análise.
A ferramenta INNER O JOIN deve operar em uma joinColumn
tabela configurada e em outra joinColumn
tabela configurada na colaboração. Você decide quais colunas da sua tabela podem ser usadas como joinColumn
.
Cada condição de partida dentro do ON uma cláusula é necessária para usar a condição de comparação de igualdade (=
) entre duas colunas.
Várias condições de partida dentro de um ON cláusula pode ser:
-
Combinado usando o operador lógico
AND
-
Separado usando o operador lógico
OR
nota
Todos JOIN as condições de correspondência devem corresponder a uma linha de cada lado do JOIN. Todas as condicionais conectadas por um operador AND
lógico OR
ou por um operador também devem cumprir esse requisito.
Veja a seguir um exemplo de uma consulta com um operador lógico AND
.
SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id AND table1.name = table2.name
Veja a seguir um exemplo de uma consulta com um operador lógico OR
.
SELECT some_col, other_col FROM table1 JOIN table2 ON table1.id = table2.id OR table1.name = table2.name
Controle | Definição | Uso |
---|---|---|
joinColumns |
As colunas que você deseja permitir que o membro que pode consultar use no INNER Declaração JOIN. |
A mesma coluna não pode ser categorizada como
|
Controles de lista
Os controles de lista controlam as colunas que podem ser listadas na saída da consulta (ou seja, usadas na instrução SELECT) ou usadas para filtrar resultados (ou seja, usadas na WHERE declaração).
Controle | Definição | Uso |
---|---|---|
listColumns |
As colunas que você permite que o membro que pode consultar use no SELECT e WHERE | A listColumn pode ser usado em SELECT e WHERE.A mesma coluna não pode ser usada como a |
Estrutura predefinida da regra de análise de listas
O exemplo a seguir inclui uma estrutura predefinida que mostra como você conclui uma regra de análise de lista.
No exemplo a seguir,
refere-se à sua tabela de dados. Você pode substituir cada um MyTable
user input placeholder
por suas próprias informações.
{ "joinColumns": [
MyTable column name(s)
], "listColumns": [MyTable column name(s)
], }
Regra de análise de listas - exemplo
O exemplo a seguir demonstra como duas empresas podem colaborar AWS Clean Rooms usando a análise de listas.
A empresa A tem dados de gerenciamento de relacionamento com o cliente (CRM). A empresa A deseja obter dados adicionais de segmentos sobre seus clientes para saber mais sobre seus clientes e, potencialmente, usar atributos como entrada em outras análises. A empresa B tem dados de segmento compostos por atributos de segmento exclusivos que eles criaram com base em seus dados primários. A empresa B deseja fornecer os atributos exclusivos do segmento para a empresa A somente em clientes que estejam sobrepostos entre seus dados e os dados da empresa A.
As empresas decidem colaborar para que a Empresa A possa enriquecer os dados sobrepostos. A empresa A é o membro que pode consultar e a empresa B é a colaboradora.
Para criar uma colaboração e executar a análise de listas em colaboração, as empresas fazem o seguinte:
-
A empresa A cria uma colaboração e cria uma associação. A colaboração tem a Empresa B como outro membro da colaboração. A empresa A permite o registro de consultas na colaboração e permite o registro de consultas em sua conta.
-
A empresa B cria uma associação na colaboração. Ele permite o registro de consultas em sua conta.
-
A empresa A cria uma tabela configurada de CRM
-
A empresa A adiciona a regra de análise à tabela configurada do cliente, como mostrado no exemplo a seguir.
{ "joinColumns": [ "identifier1", "identifier2" ], "listColumns": [ "internalid", "segment1", "segment2", "customercategory" ] }
joinColumns
– A empresa A deseja usarhashedemail
e/outhirdpartyid
(obtida de um fornecedor de identidade) combinar clientes a partir de dados de CRM com clientes de dados de segmentos. Isso ajudará a garantir que a Empresa A combine dados enriquecidos para os clientes certos. Eles têm duas JoinColumns para melhorar potencialmente a taxa de correspondência da análise.listColumns
– A empresa A costumalistColumns
obter colunas enriquecidas ao lado einternalid
usá-las em seus próprios sistemas. Eles adicionamsegment1
,segment2
ecustomercategory
para potencialmente limitar o enriquecimento a segmentos específicos, usando-os em filtros. -
A empresa B cria uma tabela configurada por segmentos.
-
A empresa B adiciona a regra de análise à tabela configurada do segmento.
{ "joinColumns": [ "identifier2" ], "listColumns": [ "segment3", "segment4" ] }
joinColumns
– A empresa B permite que a empresa A se junte emidentifier2
para combinar clientes, desde dados de segmentos até dados de CRM. A empresa A e a empresa B trabalharam com o fornecedor de identidade para obteridentifier2
o que corresponderia a essa colaboração. Eles não adicionaram outrosjoinColumns
porque acreditavam queidentifier2
fornecem a taxa de correspondência mais alta e precisa e que outros identificadores não são necessários para as consultas.listColumns
– A empresa B permite que a empresa A enriqueça seus dados com os atributossegment3
esegment4
, que são atributos exclusivos que ela criou, coletou e alinhou (com o cliente A) para fazer parte do enriquecimento de dados. Eles querem que a Empresa A obtenha esses segmentos para a sobreposição em nível de linha, porque essa é uma colaboração de enriquecimento de dados. -
A empresa A cria uma associação de tabela de CRM à colaboração.
-
A empresa B cria uma associação de tabela de segmentos à colaboração.
-
A empresa A executa consultas, como a seguinte, para enriquecer os dados sobrepostos do cliente.
SELECT companyA.internalid, companyB.segment3, companyB.segment4 INNER JOIN returns companyB ON companyA.identifier2 = companyB.identifier2 WHERE companyA.customercategory > 'xxx'
-
A empresa A e a empresa B revisam os logs de consulta. A empresa B verifica se a consulta está alinhada com o que foi acordado no contrato de colaboração.