Bidirektionale Kreuzfilter in tabellarischen Modellen
Gilt für: SQL Server Analysis Services Azure Analysis Services Power BI Premium
Bidirektionale Kreuzfilter in tabellarischen Modellen beseitigen die Notwendigkeit für handgefertigte DAX-Problemumgehungen zum Verteilen des Filterkontexts über Tabellenbeziehungen hinweg.
Das Konzept lässt sich wie folgt in seine Komponenten unterteilen: Die Kreuzfilterung ist die Möglichkeit, einen Filterkontext für eine Tabelle basierend auf Werten in einer verknüpften Tabelle festzulegen, und bidirektional ist die Übertragung eines Filterkontexts an eine zweite verknüpfte Tabelle auf der anderen Seite einer Tabellenbeziehung. Wie der Name schon sagt, ist eine Segmentierung in beide Richtungen der Beziehung und nicht bloß in eine möglich. Intern wird bei der bidirektionalen Filterung der Filterkontext so erweitert, dass eine Obermenge Ihrer Daten abgefragt wird.
Es gibt zwei Arten von Kreuzfiltern: One-Way- und Zwei-Wege-Filterung. Unidirektional ist die herkömmliche n:1-Filterrichtung zwischen Fakten- und Dimensionstabellen in der jeweiligen Beziehung. Zwei-Wege ist ein Querfilter, mit dem der Filterkontext einer Beziehung als Filterkontext für eine andere Tabellenbeziehung verwendet werden kann, wobei eine Tabelle gemeinsam mit beiden Beziehungen verwendet wird.
Wenn DimDate und DimProduct mit Fremdschlüsselbeziehungen zu FactOnlineSalesgegeben sind, entspricht ein bidirektionaler Kreuzfilter der gleichzeitigen Verwendung von FactOnlineSales-to-DimDate plus FactOnlineSales-to-DimProduct .
Bidirektionale Kreuzfilter können eine einfache Lösung für das viele zu viele Abfragedesignproblem sein, das tabellarische und Power Pivot-Entwickler in der Vergangenheit herausgefordert hat. Wenn Sie die DAX-Problemumgehung für viele zu viele Beziehungen in tabellarischen oder Power Pivot-Modellen verwendet haben, können Sie versuchen, einen Zwei-Wege-Filter anzuwenden, um zu sehen, ob es erwartete Ergebnisse erzeugt.
Wenn Sie einen bidirektionalen Kreuzfilter erstellen, bedenken Sie die folgenden Punkte:
Prüfen Sie sorgfältig, ob bidirektionale Filter aktiviert werden sollten.
Wenn Sie überall bidirektionale Filter aktivieren, könnten Ihre Daten zu stark in einer Weise gefiltert werden, die Sie ggf. nicht erwarten. Sie können auch versehentlich für Mehrdeutigkeit sorgen, indem Sie mehr als einen potenziellen Abfragepfad erstellen. Um beide Probleme zu vermeiden, planen Sie die Verwendung einer Kombination aus One-Way- und Zwei-Wege-Filtern.
Führen Sie inkrementelle Tests aus, um die Auswirkungen jeder Filteränderung auf Ihr Modell zu überprüfen. Das Feature "Analysieren in Excel" in Visual Studio funktioniert gut für inkrementelle Tests. Als bewährte Methode sollten Sie in regelmäßigen Abständen Tests mit anderen Clients für die Berichterstellung durchführen, damit es später nicht zu Überraschungen kommt.
Hinweis
Der Tabellarmodell-Designer in Visual Studio enthält einen Standard, der bestimmt, ob bidirektionale Kreuzfilter automatisch versucht werden. Wenn Sie bidirektionale Filter standardmäßig aktivieren, wird die Zwei-Wege-Filterung nur aktiviert, wenn das Modell einen Abfragepfad durch eine Kette von Tabellenbeziehungen eindeutig artikuliert.
Festlegen des Standards
Unidirektionale Filter sind Standard. Sie können den Standard für alle neuen im Designer erstellten Projekte oder für das Modell selbst ändern, sollte das Projekt bereits vorhanden sein.
Auf Projektebene wird die Einstellung ausgewertet, wenn Sie das Projekt so erstellen. Wenn Sie also die Standardeinstellung in „Bidirektional“ ändern, werden die Auswirkungen Ihrer Auswahl beim Erstellen des nächsten Projekts wirksam.
Wählen Sie in Visual Studio ToolsOptionsAnalysis>>Services Tabular DesignersNew>Projekteinstellungen aus.
Legen Sie Standardfilterrichtung entweder auf Unidirektional oder Bidirektionalfest.
Alternativ können Sie den Standard für das Modell ändern.
Wählen Sie in Projektmappen-Explorer Model.bimProperties> aus,
Legen Sie Standardfilterrichtung entweder auf Unidirektional oder Bidirektionalfest.
Denken Sie daran,
Ob und wie ein Kreuzfilter sinnvoll ist, kann ein ausgiebiges Ausprobieren erfordern, um festzustellen, ob ein solcher Filter in Ihrem Szenario funktioniert. Manchmal finden Sie, dass die integrierten Verhaltensweisen nicht ausreichend sind und auf DAX-Berechnungen zurückfallen müssen, um den Auftrag zu erledigen. Im Abschnitt "Siehe auch" finden Sie mehrere Links zu zusätzlichen Ressourcen in diesem Thema.
Aus praktischer Sicht kann die Kreuzfilterung Formen der Datenuntersuchung ermöglichen, die normalerweise nur mit einer m:n-Konstruktion möglich ist. Wie gesagt, es ist wichtig zu erkennen, dass bidirektionale Kreuzfilterung nicht viele zu viele Konstrukte ist. Eine tatsächliche m:n-Tabellenkonfiguration wird im Designer für tabellarische Modelle in dieser Version weiterhin nicht unterstützt.
Weitere Informationen
Erstellen und Verwalten von Beziehungen in Power BI Desktop
Ein praktisches Beispiel für die Behandlung einfacher Beziehungen mit vielen Zu-Manay-Beziehungen in Power Pivot und tabellarischen Modellen
Auflösen von m:n-Beziehungen mithilfe der DAX-Kreuztabellenfilterung
m:n-Revolution (SQLBI-Blog)