Beziehungen zwischen Tabellen ermöglichen effizientes Filtern. Power Pivot kennt aktive und inaktive Beziehungen. Legt man zwischen zwei Tabellen mehr als eine Beziehung an, kann es nur eine aktive geben. Mit USERELATIONSSHIP() kann man mit inaktiven Beziehungen arbeiten – wir zeigen Ihnen, wie das geht!

Eine Umsatzanalyse…

…ist täglich Brot. Wir importieren aus einer Auftragstabelle das Auftragsdatum und den Umsatz. Das verknüpfen wir mit einer Datumstabelle... Umsatzanalyse - einfaches Datenmodell … und voilà, wir können eine Umsatzanalyse durchführen: eine Umsatzanalyse nach Quartalen So weit so unspektakulär – man stumpft eben ab Winking smile

Wann wird der Umsatz realisiert?

Der Umsatz kann geplant werden bei Auftragseingang – die Rechnungsstellung sollte allerdings nicht vor dem Versand erfolgen. Daher kennt der Auftrag noch ein Versanddatum. Müssen wir die Datumstabelle nochmals importieren, um das Versanddatum verwenden zu können? Damit machen wir es unmöglich die beiden Werte in einer Darstellung (Diagramm oder Pivot) direkt miteinander zu vergleichen. Erstellen wir eine zweite Beziehungen zwischen DateKey und neu dem Versanddatum, wird eben doch eine zweite Beziehung angelegt. Die neue Beziehung sieht nur etwas anders aus: Datenmodell zur Umsatzanalyse mit zwei Datumsfeldern Mit einer unterbrochenen Linie werden sog. inaktive Beziehungen dargestellt. Inaktive Beziehungen werden bei der Filterung nicht beachtet. Dies kann man sich dennoch explizit wünschen:

USERELATIONSHIP()

Ein neues Measure soll uns den Umsatz zum Zeitpunkt des Versandes berechnen – also in Abhängigkeit des Versanddatums:

Über USERELATIONSHIP() teilen wir Power Pivot mit, dass explizit die Verbindung zum Versanddatum verwendet werden soll. Und so ermöglichen wir die Verwendung der gleichen Dimension über zwei verschiedene Beziehungen: Chart und Pivotdarstellung einer Umsatzanalyse nach zwei verschiedenen Datumsfeldern USERELATIONSHIP kann nur in Funktionen verwendet werden, die ein FILTER()-Argument haben – wie im Beispiel die CALCULATE-Funktion. Vermutlich wird man sie nicht so häufig benötigen – das Beispiel mit der Datumstabelle ist das wohl häufigste.