Hallo zusammen, ich bin Marcus. In diesem Blogartikel möchte ich euch zeigen, wie man Prozentsätze vom Gesamtwert oder Anteile vom Gesamtwert in Power BI auf Zeilenebene abbilden kann, selbst wenn Row-Level Security (RLS) angewendet wird. Dieses Problem tritt auf, wenn Benutzer nur berechtigt sind, bestimmte Daten zu sehen, wodurch ihnen der Zugriff auf den Gesamtwert verwehrt wird. Schauen wir uns an, wie wir dieses Problem lösen können.
Das Problem mit Row-Level Security
Wenn wir RLS anwenden und beispielsweise die Umsätze für Frankreich in der Tabelle "Sales Territory" filtern, kann der Benutzer nur die Daten für Frankreich sehen. Der Zugriff auf den Gesamtumsatz bleibt verwehrt, da der Benutzer nicht berechtigt ist, die Daten anderer Regionen zu sehen.
Um dennoch den Prozentsatz vom Gesamtwert anzeigen zu können, müssen wir eine zusätzliche Tabelle erstellen. Diese Tabelle zeigt die Umsätze in einer verdichteten Form, wobei alle Informationen herausgefiltert werden, die der Benutzer nicht benötigt.
Lösung mit einer Summarized Table
Um dieses Problem zu umgehen, erstellen wir eine Summarized Table, die die benötigten Schlüsselspalten gruppiert und die Umsätze summiert. Wichtig ist, dass wir den Sales Territory Key weglassen, um sicherzustellen, dass der Benutzer keine Rückschlüsse auf die Umsätze in anderen Regionen ziehen kann.
Hier sind die Schritte, um die Summarized Table zu erstellen:
Schlüsselspalten auswählen: Wählen Sie die Spalten aus, die Sie gruppieren möchten (z.B. Reseller, Kunde, Produkt und Buchungsdatum).
Summierung der Umsätze: Fügen Sie eine Spalte hinzu, die den Umsatz summiert.
Division zur Berechnung des Prozentsatzes: Berechnen Sie den Prozentsatz, indem Sie den Umsatz durch den Gesamtumsatz aus der summierten Tabelle teilen, auf die keine Filter wirken.
Implementierung in Power BI
Im Power BI Desktop haben wir zwei Ansichten im Datenmodell:
Sales: Diese Ansicht verknüpft verschiedene Stammdatentabellen mit den Sales-Daten und wendet die Filterung auf Grundlage der Row-Level Security an.
Summarized Sales: Diese Ansicht enthält die summierten Umsätze und wird nur über die gemeinschaftlichen Stammdatentabellen Produkt, Datum, Reseller und Kunde gefiltert, sodass der Umsatz aus allen Sales Territories enthalten ist.
Beispiel und Ergebnis
Im Bericht können wir sehen, dass Frankreich 8,8% des Gesamtumsatzes ausmacht. Auch wenn wir die RLS auf Frankreich anwenden, bleibt dieser Wert korrekt, da die neue berechnete Spalte den Prozentsatz vom Gesamtumsatz anzeigt.
Dies ermöglicht es uns, auch bei Anwendung von RLS genaue Anteile vom Gesamtumsatz darzustellen.
Fazit
Die Erstellung einer Summarized Table ist eine effektive Methode, um Prozentsätze vom Gesamtwert in Power BI darzustellen, selbst wenn Row-Level Security angewendet wird. Dadurch können Benutzer nur die ihnen zugewiesenen Daten sehen, während dennoch korrekte Anteile am Gesamtumsatz berechnet werden können.
Ich hoffe, dieser Artikel hat euch geholfen, das Konzept besser zu verstehen. Bei Fragen hinterlasst gerne einen Kommentar. Bis zum nächsten Mal!
コメント