Kontakt

Nutzen Sie dieses Kontaktformular oder schreiben Sie mir direkt per E-Mail.

Team von Finanzexperten, die auf dem Computerbildschirm ein Dashboard für Geschäftsanalytik (BA) oder Intelligence (BI) diskutieren, in dem die Umsatzdaten und Betriebsdaten sowie die wichtigsten Leistungsindikatoren (KPI) dargestellt werden

Power BI: Rolle mit dynamischem Datenzugriff

  • Rollenkonzept verstehen
  • Funktion USERPRINCIPALNAME verwenden
  • Rollenmitglieder hinzufügen
  • Schritt-für-Schritt-Anleitung
Jan Trummel - Coach für  Excel und  Power BI

Jan Trummel – Trainer für Excel und Power BI – erzählt hier wie Sie Ihre Arbeit effektiver erledigen können.

Stellen Sie sich vor, Sie wollen einen Bericht mit Projekten anlegen und diesen über den Power BI-Dienst an alle Mitarbeiter weitergeben. Allerdings soll jeder Mitarbeiter nur die Projekte sehen, für welche er zuständig ist! In dieser Anleitung zeige ich, wie Sie einen dynamischen Datenzugriff mit einer Rolle in Power BI erstellen können.

Los geht’s in Power BI Desktop

Beschränkungen des Datenzugriffs legen Sie immer in Power BI Desktop an. Technisch gesehen handelt es sich dabei um Filterbedingungen, welche die Datenbasis dynamisch auf bestimmte Zeilen filtern. Diese Bedingungen, welche durch DAX-Ausdrücke definiert werden, speichern Sie in sogenannten Rollen.

Lernen Sie das Beispiel kennen

Hinterlegen Sie in Ihren Daten, welcher Mitarbeiter für welches Projekt zuständig ist. Hier verwende ich ein sehr einfaches Beispiel. In der Praxis sollten Sie die Mitarbeiter natürlich in einer eigenen Tabelle hinterlegen, die Sie über Beziehungen an die Projekt-Tabelle anbinden.

Tabelle mit 4 Projekten und den zuständigen Mitarbeitern, deren E-Mail-Adressen teil geschwärzt sind
Die Tabelle "Projekte" enthält die E-Mail-Adressen der Mitarbeiter

Bei den E-Mail-Adressen muss es sich natürlich um die Adressen handeln, mit denen sich die Mitarbeiter im Power BI-Dienst anmelden!

Legen Sie die Rolle an

Legen Sie auf der Registerkarte Modellierung über den Befehl Rollen verwalten folgende Rolle für die Tabelle Projekte an:

Dialog "Rollen verwalten" mit einer Rolle
Erstellen Sie diese Rolle mit Namen "Benutzer"

Die Funktion USERPRICIPALNAME liefert im Power BI-Dienst die Anmeldeinformation des aktuellen Nutzers, also die E-Mail-Adresse. Durch diese Filterbedingung wird die Datenbasis auf jene Projekte gefiltert, welche mit der jeweils gelieferten Adresse verknüpft sind.

Falls Sie die Funktion jedoch in Power BI Desktop aufrufen (z.B. in einem Measure), erhalten Sie ein anderes Ergebnis, was hier jedoch keine Rolle spielt.
Mehr zur Funktion USERPRINCIPALNAME und zur Abgrenzung gegenüber der Funktion USERNAME lesen Sie hier.

Testen Sie die Rolle

Wenn Sie ausprobieren möchten, ob die Rolle Ihre Datenbasis korrekt filtert, können Sie das direkt Power BI Desktop tun. Wählen Sie auf der Registerkarte Modellierung den Befehl Anzeigen als. Haken Sie die Kontrollkästchen Benutzer (das ist die Rolle) und Anderer Benutzer an. Geben Sie in das Textfeld neben Anderer Benutzer beispielsweise die E-Mail-Adresse von Anton Arbeitsam an. Bestätigen Sie anschließend mit OK.

Dialog "Anzeigen als". "Benuter" und "Anderer Benutzer" sind angehakt und die E-Mail-Adresse eingegeben.
Geben Sie zum Testen die E-Mail-Adresse eines Mitarbeiters an

Power BI Desktop zeigt Ihnen den Bericht nun in der Rolle von Anton Arbeitsam an:

Power BI-Bericht mit der Projekt-Tabelle. Ein gelbe Banner informiert darüber, dass die Ansicht gefiltert ist
Sie können die Testansicht über "Anzeige beenden" wieder verlassen

Rollen wirken sich nur im Power BI-Dienst aus. Laden Sie Ihren Bericht daher über den Befehl Veröffentlichen auf der Registerkarte Start jetzt hoch.

Weiter geht's im Power BI-Dienst

Melden Sie sich mit Ihrem Konto im Power BI-Dienst an. Nur dort können Sie den Bericht für Ihre Mitarbeiter freigeben. Bedenken Sie jedoch, dass sowohl Sie als auch Ihre Mitarbeiter eine Power BI Pro-Lizenz oder Mitglied einer Power BI Premium-Ressource sein müssen, damit Sie die folgenden Schritte ausführen können!

Eine Preisübersicht zu den beiden Lizenzmodellen finden Sie hier.

Weisen Sie der Rolle Mitglieder zu

Wählen Sie den Arbeitsbereich, in den Sie den Bericht geladen haben und klicken auf die drei Auslassungspunkte (...) neben dem Dataset. Wählen Sie im Menü den Eintrag Sicherheit.

Kontextmenü eines Datasets. "Sicherheit" ist eingekreist
Das Menü "Sicherheit" zeigt Ihnen die zuvor in Power BI Desktop angelegte Rolle

Weisen Sie anschließend der Rolle die beiden Mitglieder zu.

Der Rolle "Benutzer" sind zwei Mitglieder zugewiesen
Bestätigen Sie mit "Speichern", wenn Sie die beiden Mitglieder hinzugefügt haben

Verteilen Sie den Bericht

Jetzt können Sie den Bericht an Ihre Mitarbeiter weitergeben! Wählen Sie dazu den Bericht aus und klicken Sie in der Menüleiste auf den Eintrag Freigeben und dort auf den Befehl Bericht.

Das Menü "Freigeben" ist aufgeklappt und der Befehl "Bericht" eingekreist
Im folgenden Dialog geben Sie die E-Mail-Adresse der Mitarbeiter ein

Das sehen die beiden Mitarbeiter

Wenn Anton Arbeitsam nun den Bericht im Power BI-Dienst oder der Power BI-App öffnet, sieht er nur seine Projekte:

Tabelle mit den Projekten von Anton Arbeitsam
Anton Arbeitsam ist für die Projekte A und C zuständig

Auch für Bertold Beflissen sind nur die ihm zugewiesenen Projekte sichtbar:

Tabelle mit den Projekten von Bertold Beflissen
Bertold Beflissen sieht nur die Projekte B und D

Fazit

Damit jeder Mitarbeiter nur seine Projekte sieht, legen Sie in Power BI Desktop eine Rolle an. Dort schreiben Sie mit der Funktion USERPRINCIPALNAME eine Filterbedingung, welche die Datenbasis dynamisch filtert.

Im Power BI-Dienst weisen Sie der Rolle Mitglieder zu. Anschließend können Sie den Bericht an Ihre Mitarbeiter freigeben.

Jetzt Power BI lernen!


Einzelnachweise

  1. Microsoft: Einschränken des Datenzugriffs mit Sicherheit auf Zeilenebene (RLS) für Power BI Desktop, Abgerufen am 20.12.2020
  2. Microsoft: USERNAME Abgerufen am 20.12.2020
  3. Microsoft: USERPRINCIPALNAME, Abgerufen am 20.12.2020
  4. Lars Schreiber: Wie Du mit dynamischer Row Level Security in Power BI den Zugriff auf Deine Daten schützt, Abgerufen am 20.12.2020
  5. Bhawana Rathore: Difference between USERNAME() and USERPRINCIPALNAME() in Power BI Dax, Abgerufen am 20.12.2020