View a markdown version of this page

Beziehungen zwischen Datensätzen in einem Topic definieren - Amazon Quick

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.

Beziehungen zwischen Datensätzen in einem Topic definieren

 Gilt für: Enterprise Edition 
   Zielpublikum: Amazon Quick-Administratoren und -Autoren 

Beziehungen geben Quick Sight an, wie Datensätze verknüpft werden, wenn sich eine Frage oder ein Bild über mehrere Tabellen erstreckt. Sie definieren Beziehungen, indem Sie mithilfe einer JSON-Konfigurationsdatei Verbindungsschlüssel zwischen Datensatzpaaren angeben.

Das Beziehungsdiagramm muss ein gerichteter azyklischer Graph (DAG) sein — zirkuläre Beziehungen werden nicht unterstützt. Wir empfehlen, Ihre Datensätze in einem Sternschema mit einer oder mehreren zentralen Faktentabellen zu modellieren, die zu Tabellen mit gemeinsamen Dimensionen verknüpft sind.

Um Beziehungen zwischen Datensätzen zu definieren
  1. Öffnen Sie das Thema, das Sie konfigurieren möchten.

  2. Navigieren Sie zur Registerkarte Beziehungen.

    Der Themeneditor zeigt die Registerkarte „Beziehungen“ mit sechs aufgelisteten Datensätzen: PRODUCT_DIM, CUSTOMER_DIM, DATE_DIM, SALES_FACT, RETURN_FACT und STORE_DIM.
  3. Wählen Sie Datei hochladen oder Manuell erstellen.

    Registerkarte „Beziehungen“ mit den Schaltflächen „Datei hochladen“ und „Manuell erstellen“, wobei die unterstützten Dateitypen YAML und JSON vermerkt sind.
  4. Laden Sie eine JSON-Datei hoch, die Ihre Beziehungen definiert (siehe das folgende Beispiel). Nach dem Hochladen wird das Beziehungsdiagramm visuell auf der linken Seite und die Verbindungsschlüsseldetails auf der rechten Seite angezeigt. Wählen Sie eine Verknüpfung aus, um die Beziehungszuordnung zu überprüfen.

    Beziehungsdiagramm, das SALES_FACT und RETURN_FACT als zentrale Faktentabellen zeigt, die mit PRODUCT_DIM, CUSTOMER_DIM, DATE_DIM und STORE_DIM verbunden sind. Die Join-Schlüssel werden im rechten Bereich angezeigt.
  5. Um eine Beziehung zu bearbeiten, wählen Sie Bearbeiten, aktualisieren Sie die Verbindungsspalten mithilfe der Dropdown-Selektoren und wählen Sie Speichern.

    Im Bearbeitungsmodus für Beziehungen werden für jedes Datensatzpaar editierbare Dropdownlisten für die Verbindungsspalten angezeigt. Die Schaltflächen Abbrechen und Speichern befinden sich oben rechts.

Beziehung im JSON-Format

Das folgende Beispiel zeigt eine Sternschemakonfiguration mit einer zentralen SALES_FACT-Tabelle, die mit Dimensionstabellen verknüpft ist:

{ "datasetPairs": [ { "datasetLeft": { "datasetName": "SALES_FACT", "joinColumnNames": ["CUSTOMER_ID"] }, "datasetRight": { "datasetName": "CUSTOMER_DIM", "joinColumnNames": ["CUSTOMER_ID"] } }, { "datasetLeft": { "datasetName": "SALES_FACT", "joinColumnNames": ["PRODUCT_ID"] }, "datasetRight": { "datasetName": "PRODUCT_DIM", "joinColumnNames": ["PRODUCT_ID"] } }, { "datasetLeft": { "datasetName": "SALES_FACT", "joinColumnNames": ["STORE_ID"] }, "datasetRight": { "datasetName": "STORE_DIM", "joinColumnNames": ["STORE_ID"] } } ] }

Jeder Eintrag in datasetPairs gibt ein Paar von Datensätzen und die Spalten an, die zu ihrer Verknüpfung verwendet werden. Zusammengesetzte Schlüssel werden unterstützt, indem mehrere Spaltennamen in das joinColumnNames Array aufgenommen werden.

Bewährte Methoden für Beziehungen

  • Beginnen Sie mit einem Sternschema. Eine zentrale Faktentabelle, umgeben von Dimensionstabellen, minimiert die Join-Komplexität und maximiert die Abfrageleistung.

  • Verwenden Sie saubere Join-Schlüssel. Verwenden Sie nach Möglichkeit ganzzahlige Surrogatschlüssel. Bestätigen Sie die übereinstimmenden Datentypen auf beiden Seiten. Entfernen Sie Nullwerte aus Join-Schlüsselspalten (Nullen stimmen bei inneren Verknüpfungen nie überein).

  • Validieren Sie die referenzielle Integrität. Jeder Fremdschlüssel in der Faktentabelle sollte in der Dimensionstabelle existieren.

  • Vermeiden Sie kreisförmige Verbindungen. Das Beziehungsdiagramm muss azyklisch sein. Wenn Ihr Modell einen Zyklus erzeugt, unterbrechen Sie ihn, indem Sie ein Bein entfernen und den redundanten Pfad denormalisieren.

  • Pre-join Schneeflockenketten, wenn möglich. Wenn eine Dimension Unterdimensionen hat (z. B. Kunde → Geografie → Region), sollten Sie erwägen, sie zu einem einzigen Dimensionsdatensatz zusammenzufassen, um Join-Hops zu reduzieren.

Aktuelle Einschränkungen

Die folgenden Einschränkungen gelten für definierte Beziehungen:

  • Beziehungen verwenden die Semantik der inneren Verknüpfung für Analyseblätter. Nur Zeilen mit übereinstimmenden Schlüsseln in beiden Datensätzen werden in den Ergebnissen angezeigt.

  • Das Beziehungsdiagramm muss azyklisch sein (keine kreisförmigen Verbindungen).

  • Self-relationships (ein Datensatz, der sich auf sich selbst bezieht) werden nicht unterstützt.

  • Alle Datensätze in einem Thema müssen denselben Abfragemodus (SPICEoder Direktabfrage) verwenden.

  • Ein Topic darf nicht mehr als 12 Datensätze enthalten.

Anmerkung

Bei der Verwendung von Themen im Amazon Quick Chat ist der LLM-powered Chat-Agent nicht auf interne Verknüpfungen beschränkt. Er kann SQL mit linken Verknüpfungen, äußeren Verknüpfungen, Unions und Unterabfragen auf der Grundlage Ihrer benutzerdefinierten Anweisungen generieren. Diese Einschränkungen beim Join-Typ gelten nur für den Pfad zur Nutzung des Analyseblatts.