Bidirektionale Kreuzfilter in tabellarischen Modellen

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Bidirektionale Kreuzfilter in tabellarischen Modellen entfällt die Notwendigkeit von handgefertigten 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.

Screenshot des Wählfelds

Es gibt zwei Arten von Kreuzfiltern: Unidirektionale und bidirektionale Filterung. Unidirektional ist die herkömmliche n:1-Filterrichtung zwischen Fakten- und Dimensionstabellen in der jeweiligen Beziehung. Bidirektionale Verwendung ist ein Kreuzfilter, mit dem der Filterkontext einer Beziehung als Filterkontext für eine andere Tabellenbeziehung verwendet werden kann, wobei eine Tabelle beide Beziehungen gemeinsam ist.

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 Problem mit dem n:n-Abfrageentwurf sein, das in der Vergangenheit tabellarische Und Power Pivot-Entwickler herausforderte. Wenn Sie die DAX-Problemumgehung für m:n-Beziehungen in tabellarischen oder Power Pivot-Modellen verwendet haben, können Sie versuchen, einen bidirektionalen Filter anzuwenden, um zu ermitteln, ob er zu erwarteten Ergebnissen führt.

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, sollten Sie eine Kombination aus unidirektionalen und bidirektionalen Filtern verwenden.

  • Führen Sie inkrementelle Tests durch, um die Auswirkungen jeder Filteränderung auf Ihr Modell zu überprüfen. Das Feature In Excel analysieren in Visual Studio eignet sich 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 Designer für tabellarische Modelle in Visual Studio enthält einen Standard, der bestimmt, ob bidirektionale Kreuzfilter automatisch versucht werden. Wenn Sie bidirektionale Filter standardmäßig aktivieren, wird die bidirektionale Filterung nur aktiviert, wenn das Modell einen Abfragepfad durch eine Kette von Tabellenbeziehungen klar 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.

  1. Wählen Sie in Visual Studio Extras>Optionen>Analysis Services Tabular Designers>Neue Projekteinstellungen aus.

  2. Legen Sie Standardfilterrichtung entweder auf Unidirektional oder Bidirektionalfest.

Alternativ können Sie den Standard für das Modell ändern.

  1. Wählen Sie Projektmappen-Explorer Model.bim-Eigenschaften> aus.

  2. Legen Sie Standardfilterrichtung entweder auf Unidirektional oder Bidirektionalfest.

Zu beachten

Ob und wie ein Kreuzfilter sinnvoll ist, kann ein ausgiebiges Ausprobieren erfordern, um festzustellen, ob ein solcher Filter in Ihrem Szenario funktioniert. Manchmal werden Sie feststellen, dass die integrierten Verhaltensweisen nicht ausreichen und auf DAX-Berechnungen zurückgreifen müssen, um den Auftrag zu erledigen. Im Abschnitt Siehe auch finden Sie mehrere Links zu zusätzlichen Ressourcen zu diesem Thema.

Aus praktischer Sicht kann die Kreuzfilterung Formen der Datenuntersuchung ermöglichen, die normalerweise nur mit einer m:n-Konstruktion möglich ist. Abgesehen davon ist es wichtig zu erkennen, dass die bidirektionale Kreuzfilterung kein m:n-Konstrukt 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 Handhabung einfacher m:n-Manay-Beziehungen in Power Pivot und tabellarischen Modellen
Auflösen von m:n-Beziehungen mithilfe der DAX-Kreuztabellenfilterung
m:n-Revolution (SQLBI-Blog)