

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Regel für die Listenanalyse
<a name="analysis-rules-list"></a>

In AWS Clean Rooms gibt eine *Listenanalyseregel* Listen mit Überschneidungen zwischen der konfigurierten Tabelle, der sie hinzugefügt wurde, und den konfigurierten Tabellen des Mitglieds, das Abfragen durchführen kann, auf Zeilenebene aus. Das Mitglied, das Abfragen durchführen kann, führt Abfragen aus, die eine Listenanalyseregel enthalten.

Der Regeltyp „Listenanalyse“ unterstützt Anwendungsfälle wie Anreicherung und Zielgruppenbildung. 

Weitere Informationen zur vordefinierten Abfragestruktur und Syntax für diese Analyseregel finden Sie unter[Vordefinierte Struktur der Listenanalyseregel](#intersection-list-params-template).

Die Parameter der in [Regel für die Listenanalyse — Steuerelemente abfragen](#parameters-list-query-controls) definierten Listenanalyseregel verfügen über Abfragesteuerelemente. Zu den Abfragesteuerelementen gehört die Möglichkeit, die Spalten auszuwählen, die in der Ausgabe aufgeführt werden können. Für die Abfrage ist mindestens eine Verknüpfung mit einer konfigurierten Tabelle des Mitglieds erforderlich, das Abfragen entweder direkt oder transitiv durchführen kann.

Es gibt keine Steuerelemente für Abfrageergebnisse wie bei der [Aggregationsanalyseregel](analysis-rules-aggregation.md). 

Listenabfragen können nur mathematische Operatoren verwenden. Sie können keine anderen Funktionen (wie Aggregation oder Skalar) verwenden.

**Topics**
+ [Struktur und Syntax von Abfragen auflisten](#list-query-controls)
+ [Regel für die Listenanalyse — Steuerelemente abfragen](#parameters-list-query-controls)
+ [Vordefinierte Struktur der Listenanalyseregel](#intersection-list-params-template)
+ [Regel zur Listenanalyse — Beispiel](#list-example)

## Struktur und Syntax von Abfragen auflisten
<a name="list-query-controls"></a>

Abfragen in Tabellen, für die eine Listenanalyseregel gilt, müssen der folgenden Syntax entsprechen. 

```
--{{select_list_expression}}
SELECT 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]
```

In der folgenden Tabelle werden alle in der vorherigen Syntax aufgeführten Ausdrücke erklärt. 


| Expression | Definition | Beispiele | 
| --- | --- | --- | 
| {{select\_list\_expression}} | Eine durch Kommas getrennte Liste, die mindestens einen Tabellenspaltennamen enthält.<br />Ein `DISTINCT` Parameter ist erforderlich.  `select_list_expression`Sie können Spalten mit oder ohne den `AS` Parameter als Alias verwenden.  <br />Weitere Informationen finden Sie in der [AWS Clean Rooms SQL-Referenz](https://docs.aws.amazon.com/clean-rooms/latest/sql-reference/sql-reference.html).  | `SELECT DISTINCT segment` | 
| {{table\_expression}} | Eine Tabelle oder eine Verknüpfung von Tabellen, mit der eine `join_condition` Verbindung hergestellt `join_condition` werden soll. <br />`join_condition`gibt einen booleschen Wert zurück. <br />Die `table_expression` Stützen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/clean-rooms/latest/userguide/analysis-rules-list.html) |  <pre>FROM consumer_table <br />INNER JOIN provider_table<br />ON<br />consumer_table.identifier1 = provider_table.identifier1<br />AND<br />consumer_table.identifier2 = provider_table.identifier2</pre>  | 
| {{where\_expression}} | Ein bedingter Ausdruck, der einen booleschen Wert zurückgibt. Er kann aus folgenden Elementen bestehen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/clean-rooms/latest/userguide/analysis-rules-list.html)Unterstützte Vergleichsbedingungen sind (`=, >, <, <=, >=, <>, !=, NOT, IN, NOT IN, LIKE, IS NULL, IS NOT NULL`). <br />Unterstützte logische Operatoren sind (`AND, OR`).<br />Die `where_expression` ist optional. | `WHERE state + '_' + city = 'NY_NYC'`<br />`WHERE timestampColumn = timestampColumn2 - 14`  | 
| {{limit\_expression}} | Dieser Ausdruck muss eine positive Ganzzahl enthalten.<br />Die `limit_expression` ist optional.  | `LIMIT 100` | 

Beachten Sie bei der Struktur und Syntax von Listenabfragen Folgendes:
+ Andere SQL-Befehle als SELECT werden nicht unterstützt.
+ Unterabfragen und allgemeine Tabellenausdrücke (z. B.WITH) werden nicht unterstützt
+ Die BY Klauseln GROUP BY HAVING, und ORDER werden nicht unterstützt
+ Der OFFSET-Parameter wird nicht unterstützt

## Regel für die Listenanalyse — Steuerelemente abfragen
<a name="parameters-list-query-controls"></a>

Mit Steuerelementen für Listenabfragen können Sie steuern, wie die Spalten in Ihrer Tabelle zum Abfragen der Tabelle verwendet werden. Sie können beispielsweise steuern, welche Spalte für die Verknüpfung verwendet wird oder welche Spalte in der SELECT-Anweisung und WHERE -Klausel verwendet werden kann.

In den folgenden Abschnitten werden die einzelnen Steuerelemente erläutert.

**Topics**
+ [Steuerelemente verbinden](#list-controls-join-controls)
+ [Steuerelemente auflisten](#list-controls)

### Steuerelemente verbinden
<a name="list-controls-join-controls"></a>

Mit *Join-Steuerelementen* können Sie steuern, wie Ihre Tabelle mit anderen Tabellen in **table\_expression** verknüpft werden kann. AWS Clean Rooms unterstützt INNER nur JOIN. In der Regel für die Listenanalyse ist mindestens ein INNER JOIN erforderlich, und das Mitglied, das Abfragen durchführen kann, muss eine Tabelle, deren Eigentümer es ist, in den INNER JOIN aufnehmen. Das bedeutet, dass sie Ihre Tabelle entweder direkt oder transitiv mit ihrer Tabelle verknüpfen müssen.

Im Folgenden finden Sie ein Beispiel für Transitivität.

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

INNERJOIN-Anweisungen können nur Spalten verwenden, die `joinColumn` in Ihrer Analyseregel explizit als a kategorisiert wurden. 

Der INNER JOIN-Befehl muss für eine Tabelle `joinColumn` aus Ihrer konfigurierten Tabelle und für eine Tabelle `joinColumn` aus einer anderen konfigurierten Tabelle in der Kollaboration ausgeführt werden. Sie entscheiden, als welche Spalten aus Ihrer Tabelle verwendet werden können`joinColumn`. 

Jede Übereinstimmungsbedingung innerhalb der ON Klausel muss die Gleichheitsvergleichsbedingung (`=`) zwischen zwei Spalten verwenden. 

Es können mehrere Übereinstimmungsbedingungen innerhalb einer ON Klausel sein:
+ Kombiniert mit dem `AND` logischen Operator
+ Mit dem `OR` logischen Operator getrennt

**Anmerkung**  
Alle JOIN Spielbedingungen müssen einer Zeile auf jeder Seite von entsprechenJOIN. Alle Bedingungen, die durch einen `OR` oder einen `AND` logischen Operator miteinander verbunden sind, müssen dieser Anforderung ebenfalls entsprechen.

Das Folgende ist ein Beispiel für eine Abfrage mit einem `AND` logischen Operator.

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

Im Folgenden finden Sie ein Beispiel für eine Abfrage mit einem `OR` logischen Operator.

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


| Steuerung | Definition | Usage | 
| --- | --- | --- | 
| joinColumns | Die Spalten, die Sie dem Mitglied, das Abfragen durchführen kann, in der INNER JOIN-Anweisung verwenden dürfen. | Dieselbe Spalte kann nicht sowohl als als `joinColumn` auch kategorisiert werden `listColumn` (siehe[Steuerelemente auflisten](#list-controls)).<br />`joinColumn`kann in keinem anderen Teil der Abfrage als INNER JOIN verwendet werden. | 

### Steuerelemente auflisten
<a name="list-controls"></a>

*Listensteuerelemente* steuern die Spalten, die in der Abfrageausgabe aufgeführt (d. h. in der SELECT-Anweisung verwendet) oder zum Filtern von Ergebnissen (d. h. in der WHERE Anweisung verwendet) verwendet werden können.


| Steuerung | Definition | Usage | 
| --- | --- | --- | 
| listColumns | Die Spalten, die Sie dem Mitglied, das Abfragen abfragen kann, in SELECT verwenden dürfen und WHERE | A listColumn kann in SELECT und verwendet werdenWHERE.Dieselbe Spalte kann nicht gleichzeitig als ein `listColumn` und verwendet werden`joinColumn`. | 

## Vordefinierte Struktur der Listenanalyseregel
<a name="intersection-list-params-template"></a>

Das folgende Beispiel enthält eine vordefinierte Struktur, die zeigt, wie Sie eine Listenanalyseregel abschließen. 

{{`MyTable`}}Bezieht sich im folgenden Beispiel auf Ihre Datentabelle. Sie können jede Information {{user input placeholder}} durch Ihre eigenen Informationen ersetzen. 

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

## Regel zur Listenanalyse — Beispiel
<a name="list-example"></a>

Das folgende Beispiel zeigt, wie zwei Unternehmen AWS Clean Rooms mithilfe der Listenanalyse zusammenarbeiten können.

Unternehmen A verfügt über Daten zum Kundenbeziehungsmanagement (CRM). Unternehmen A möchte zusätzliche Segmentdaten über seine Kunden erhalten, um mehr über ihre Kunden zu erfahren und möglicherweise Attribute als Input für andere Analysen zu verwenden. Unternehmen B verfügt über Segmentdaten, die aus eindeutigen Segmentattributen bestehen, die das Unternehmen auf der Grundlage seiner eigenen Daten erstellt hat. Unternehmen B möchte Unternehmen A die eindeutigen Segmentattribute nur für Kunden zur Verfügung stellen, deren Daten sich mit den Daten von Unternehmen A überschneiden. 

Die Unternehmen beschließen, zusammenzuarbeiten, damit Unternehmen A die sich überschneidenden Daten anreichern kann. Unternehmen A ist das Mitglied, das Abfragen durchführen kann, und Unternehmen B ist der Mitwirkende.

Um eine Zusammenarbeit zu erstellen und gemeinsam eine Listenanalyse durchzuführen, gehen die Unternehmen wie folgt vor: 

1. Unternehmen A erstellt eine Kollaboration und erstellt eine Mitgliedschaft. Die Kollaboration hat Firma B als weiteres Mitglied der Kollaboration. Unternehmen A aktiviert die Abfrageprotokollierung in der Kollaboration und sie aktiviert die Abfrageprotokollierung in ihrem Konto. 

1. Unternehmen B erstellt eine Mitgliedschaft in der Kollaboration. Es aktiviert die Abfrageprotokollierung in seinem Konto. 

1. Firma A erstellt eine für CRM konfigurierte Tabelle

1. Unternehmen A fügt die Analyseregel der vom Kunden konfigurierten Tabelle hinzu, wie im folgenden Beispiel gezeigt.

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

   `joinColumns`— Unternehmen A möchte `hashedemail` and/or `thirdpartyid` (von einem Identitätsanbieter bezogen) verwenden, um Kunden aus CRM-Daten mit Kunden aus Segmentdaten abzugleichen. Auf diese Weise kann sichergestellt werden, dass Unternehmen A angereicherte Daten den richtigen Kunden zuordnet. Sie verfügen über zwei JoinColumns, um die Trefferquote der Analyse potenziell zu verbessern. 

   `listColumns`— Unternehmen A verwendet`listColumns`, um zusätzlich angereicherte Spalten zu erhalten und `internalid` sie in ihren eigenen Systemen zu verwenden. Sie fügen `segment1` hinzu `segment2` und `customercategory` beschränken die Anreicherung möglicherweise auf bestimmte Segmente, indem sie sie in Filtern verwenden. 

1. Firma B erstellt eine segmentkonfigurierte Tabelle.

1. Firma B fügt die Analyseregel zur segmentkonfigurierten Tabelle hinzu. 

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

   `joinColumns`— Unternehmen B ermöglicht es Unternehmen A, gemeinsam Kunden `identifier2` anhand von Segmentdaten mit CRM-Daten abzugleichen. Unternehmen A und Unternehmen B arbeiteten mit dem Identitätsanbieter zusammen, um herauszufinden, `identifier2` welcher Anbieter für diese Zusammenarbeit geeignet wäre. Andere wurden nicht hinzugefügt, `joinColumns` da sie der Meinung waren, dass sie die höchste und genaueste Trefferquote `identifier2` bieten und andere Identifikatoren für die Abfragen nicht erforderlich sind. 

   `listColumns`— Unternehmen B ermöglicht es Unternehmen A, seine Daten mit `segment3` `segment4` Attributen anzureichern. Dabei handelt es sich um einzigartige Attribute, die das Unternehmen im Rahmen der Datenanreicherung erstellt, gesammelt und (mit Kunde A) abgestimmt hat. Sie möchten, dass Unternehmen A diese Segmente für die Überschneidung auf Zeilenebene erhält, da es sich um eine Zusammenarbeit im Bereich der Datenanreicherung handelt. 

1. Unternehmen A erstellt eine CRM-Tabellenzuordnung zur Kollaboration.

1. Unternehmen B erstellt eine Segmenttabellenzuordnung zur Kollaboration.

1. Unternehmen A führt Abfragen wie die folgende aus, um sich überschneidende Kundendaten anzureichern. 

   ```
   SELECT companyA.internalid, companyB.segment3, companyB.segment4
   INNER JOIN returns companyB
    ON companyA.identifier2 = companyB.identifier2
   WHERE companyA.customercategory > 'xxx'
   ```

1. Unternehmen A und Unternehmen B überprüfen die Abfrageprotokolle. Unternehmen B überprüft, ob die Anfrage mit dem übereinstimmt, was in der Kooperationsvereinbarung vereinbart wurde.