top of page
AutorenbildMarcus Wegener

Tutorial: Dynamische Sicherheit auf Zeilenebene

Hallo, ich bin Marcus und heute möchte ich euch in diesem Blogartikel erklären, was dynamische Sicherheit auf Zeilenebene in Power BI bedeutet und wie sie implementiert werden kann. Diese Methode bietet eine flexible Möglichkeit, Daten innerhalb von Power BI anhand der Benutzeranmeldeinformationen zu filtern und anzuzeigen.



Was ist dynamische Row-Level Security?

Im Gegensatz zur statischen Row-Level Security, bei der auf einem festen Wert gefiltert wird, verwendet die dynamische Row-Level Security variable Filterkriterien, die in Echtzeit auf die Anmeldedaten des Benutzers basieren. Das bedeutet, dass anstatt eine feste Rolle zu haben, die auf spezifische Werte filtert, die E-Mail-Adresse des aktuellen Benutzers als Grundlage verwendet wird, um Daten zu filtern. Dies wird mit Hilfe von DAX und der Funktion USERPRINCIPALNAME() umgesetzt.

Dynamische Sicherheit auf Zeilenebene

Implementierung der dynamischen Row-Level Security


Schritt 1: Datenmodell vorbereiten

In unserem Beispiel verwenden wir das AdventureWorks-Datenmodell von Microsoft. Innerhalb dieses Modells gibt es eine Tabelle namens Sales Territory, die wir nach den Repräsentanten filtern möchten. Diese Tabelle enthält die E-Mail-Adressen der Vertreter.

Dynamische Sicherheit auf Zeilenebene AdventureWorks Beispiel

Schritt 2: Rolle erstellen

Im Power BI Desktop erstellen wir eine neue Rolle unter Modellierung > Rollen verwalten. Diese Rolle filtert die Sales Territory-Tabelle anhand der E-Mail-Adressen.

Dynamische Sicherheit auf Zeilenebene Sicherheitsrolle

Schritt 3: Rolle testen

Um die Rolle zu testen, wählen wir im Power BI Desktop Modellierung > Anzeigen als, wählen die erstellte Rolle aus und geben die E-Mail-Adresse eines Benutzers ein. Dadurch werden die Daten entsprechend der Rolle gefiltert.

Dynamische Sicherheit auf Zeilenebene Als Rollen anzeigen

Erweiterung der Rolle mit komplexeren DAX-Abfragen

In einem erweiterten Beispiel integrieren wir eine zusätzliche Tabelle Salesperson, die die Verkaufspersonen den Sales Territory zuordnet. Die Filterrichtung in unserem Datenmodell fließt von Sales Territory zu Salesperson, wodurch wir eine komplexere DAX-Abfrage benötigen, um die Hierarchiestruktur der Verkaufspersonen zu berücksichtigen.

Dynamische Sicherheit auf Zeilenebene Beispiel Erweitert

DAX-Abfrage für Hierarchiestruktur

Die folgende DAX-Abfrage filtert die Salesperson-Tabelle basierend auf der E-Mail-Adresse des Benutzers und berücksichtigt dabei die Hierarchiestruktur:


CONTAINS (
    FILTER (
        Salesperson,
        PATHCONTAINS (
            Salesperson[Path],
            MAXX (
                FILTER (
                    Salesperson,
                    Salesperson[EmailAddress] = USERPRINCIPALNAME ()
                ),
                Salesperson[EmployeeKey]
            )
        )
    ),
    Salesperson[SalesTerritoryKey], [SalesTerritoryKey]
)

Diese Abfrage ermittelt den Schlüssel der aktuellen Verkaufsperson basierend auf ihrer E-Mail-Adresse, erstellt den Hierarchiepfad und filtert die Tabelle Sales Territory entsprechend.

Dynamische Sicherheit auf Zeilenebene Sicherheitsrolle mit Hierarchie

Praxisbeispiel

Angenommen, wir haben eine Verkaufsperson namens Amy, die verschiedenen Sales Territory zugeordnet ist. Wenn wir die Rolle mit Amy's E-Mail-Adresse testen, werden nur die Daten für die Sales Territory angezeigt, für die sie verantwortlich ist. Dies ermöglicht eine präzise und sichere Datenvisualisierung, die sich dynamisch an die Anmeldeinformationen des Benutzers anpasst.

Dynamische Sicherheit auf Zeilenebene Erweitert Als Rollen anzeigen

Fazit

Die dynamische Sicherheit auf Zeilenebene in Power BI bietet eine leistungsstarke Methode, um Daten basierend auf Benutzeranmeldeinformationen zu filtern und anzuzeigen. Durch die Verwendung von DAX können komplexe Hierarchien und Filterlogiken implementiert werden, um sicherzustellen, dass Benutzer nur auf die Daten zugreifen, die für sie relevant sind.

Wenn du Fragen oder Anmerkungen hast, hinterlasse sie gerne in den Kommentaren.

7 Ansichten0 Kommentare

Aktuelle Beiträge

Alle ansehen

Kommentare

Mit 0 von 5 Sternen bewertet.
Noch keine Ratings

Rating hinzufügen
bottom of page