"Referentielle Integrität voraussetzen" für Verknüpfungen

In einigen Fällen können Sie die Abfrageleistung für Verknüpfungen verbessern, indem Sie im Menü Daten die Option Referentielle Integrität voraussetzen aktivieren. Wenn Sie diese Option verwenden, schließt Tableau die verknüpfte Tabelle nur dann in die Abfrage ein, wenn sie explizit von Feldern in der Ansicht referenziert wird.

Die Verwendung dieser Einstellung ist angemessen, wenn Sie wissen, dass Ihre Daten über eine referentielle Integrität (siehe folgende Definition) verfügen, Ihre Datenbank die referentielle Integrität aber nicht erzwingt oder erzwingen kann. Es empfiehlt sich, stattdessen die Einstellung zu verwenden, die referentielle Integrität in Ihrer Datenbank zu konfigurieren, sofern dies möglich ist, da dadurch die Leistung in der Datenbank und in Tableau verbessert wird. Die Option Referentielle Integrität vorausgesetzt in Tableau wirkt sich nur auf die Tableau-Leistung aus. Wenn Ihre Daten nicht über die referentielle Integrität verfügen und Sie diese Einstellung aktivieren, sind die Abfrageergebnisse möglicherweise ungenau.

Um zu verstehen, was die referentielle Integrität ist, stellen Sie sich vor, eine Verbindung zu Umsatzdaten herzustellen, die über zwei Tabellen verfügen:Sales (Umsatz) und Product Catalog (Produktkatalog). Diese zwei Tabellen sind unten dargestellt.

Umsatz

Produkt-ID (Fremdschlüssel)UmsatzTransaktionsdatum
110001.10.2012
1200002.10.2012
25030.09.2012
31021.08.2012

Produktkatalog

Produkt-ID (Primärschlüssel)Produktname
110-Zoll-Tablet
2Smartphone
3Schreibtischlampe
4Speicherstick

Da alle verkauften Produkte über einen Eintrag im Produktkatalog verfügen müssen, existiert für jede Zeile in der Tabelle "Umsatz" eine entsprechende Zeile in der Tabelle "Produktkatalog". Wenn diese zwei Tabelle nach Produkt-ID verknüpft werden, entsteht eine Tabelle ähnlich der folgenden:

Produkt-IDProduktnameProdukt-IDUmsatzTransaktionsdatum
110-Zoll-Tablet110001.10.2012
110-Zoll-Tablet1200002.10.2012
2Smartphone25030.09.2012
3Schreibtischlampe31021.08.2012

Nehmen wir nun an, Sie erstellen eine Ansicht, um sich den Umsatz nach Region anzusehen. Standardmäßig kann durch Ziehen des Felds "Umsatz" in die Ansicht eine Abfrage ähnlich der folgenden erstellt werden:

SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID

Durch die Auswahl von Referentielle Integrität vorausgesetzt erkennt Tableau, dass die verknüpften Tabellen über eine referenzielle Integrität verfügen. Anders ausgedrückt, Sie bestätigen, dass für die Tabelle "Umsatz" immer eine entsprechende Zeile in der Tabelle "Produktkatalog" vorhanden ist. Da dies zutreffend ist, benötigt Tableau keine Informationen aus der Tabelle "Produktkatalog", um diese Ergebnisse zurückzugeben. Wenn Sie das Feld "Umsatz" in die Ansicht ziehen, kann Tableau die Abfrage wie folgt vereinfachen:

SELECT SUM([Sales Amount]) FROM [Sales]

Diese vereinfachte Abfrage kann häufig schneller Ergebnisse zurückgeben, da die Verknüpfungsoperation entfernt wird. Diese Option wirkt sich nur auf innere Verknüpfungen aus und hat keinen Einfluss auf Datenquellen mit einer einzelnen Tabelle.

 

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.