Kontakt

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

Q&A – Fragen und Antworten rund im Power BI

Stellen Sie mir hier Ihre Fragen zu Power BI. Senden Sie mir Ihre Frage einfach per E-Mail an frage@jantrummel.de.

Ich werde alle Fragen selbstverständlich anonymisiert veröffentlichen, sodass keine Rückschlüsse auf Sie, Ihr Unternehmen oder Ihre Daten gezogen werden können.

Dieser Service ist für Sie kostenfrei!

Fragen aus Februar 2024

Verweise auf andere Tabellen umsetzen

Frage vom 01.03.2024

Hallo Jan, 

Ich bin ein kompletter Neuling in Power BI. 

Ich soll für meine Arbeit einen Excel Report in Power BI umsetzen. 

Bei dem Excel Report gibt es 2 Seiten. Die erste ist für die Rohdaten und die zweite ist der eigentliche Report. 

In dem 2. Sheet gibt es also eine Tabelle, die mit Hilfe von Excel Formeln wie SUMMEWENN oder ZÄHLENWENN auf die Rohdaten verweist und daraus die Ergebnisse berechnet. 

Der Report ist immer gleich aufgebaut. Das einzige, was sich ändert, ist die Anzahl an Zeilen. 

Meine Frage ist jetzt, wie ich am besten an das Thema rangehe. 

So wie ich es verstanden habe, kann ich es entweder mit dem Power Query Editor transformieren oder mit Hilfe von selbstdefinierten Measures. 

Ich habe erste Versuche mit Measures versucht, konnte die Ergebnisse aber nie visualisieren lassen. 

Dann habe ich eine separate Tabelle erstellt, beim Hinzufügen von neuen Spalten bin ich dann aber auch wieder auf Probleme gestoßen. Und ich kann mir auch nicht vorstellen, dass es notwendig ist, eine neue Tabelle zu erstellen. Mit dem Power Query Editor habe ich es bis jetzt noch nicht ausprobiert. 

Ich würde gerne wissen, wie man grundsätzlich das Thema angeht. Verwende ich eher den Power Query Editor? Wenn ja, wie könnte dann eine mögliche Abfrage aussehen? Oder setze ich es mit Measures um? Dann interessiert mich, wie ich es formulieren muss, damit ich es anzeigen lassen kann? 

Ich kann aus Datenschutzgründen leider keine Daten anfügen, aber ich habe ein Beispiel angefügt, das die Situation vereinfacht darstellt. 

Ich bin dir sehr dankbar für deine Hilfe! 

Antwort

Power Query verwendest du, um die Daten aufzubereiten, also um z.B. überflüssige Zeilen und Spalten zu löschen oder die Struktur der Tabelle anzupassen. Das Ziel einer Datenaufbereitung ist immer, dass du die Daten mit Power BI gut analysieren kannst.

Im aktuellen Fall (gemäß  den von dir übermittelten Daten) musst du in Power Query keine besondere Transformation durchführen. Den gewünschten Bericht erzeugst du in Power BI mithilfe von ein paar Measures und einer Matrix-Visualisierung.

Hier der fertige Bericht:

Matrix in Power BI, welche verschiedene Ergebnisse für unterschiedliche Länder zeigt.
Der fertige Bericht in Power BI

Folgende Measures habe ich angelegt (du findest sie in der Tabelle "_Kennzahlen"):

Anzahl Bestellungen = COUNTROWS(Daten)

Die Funktion COUNTROWS zählt alle Zeilen in deiner Tabelle.

Anzahl Express = CALCULATE([Anzahl Bestellungen], Daten[Expressversand] = "ja")

Mit der Funktion CALCULATE kann ich eine zusätzliche Filterbedingung anfügen, welche nur die Zeilen zählt, bei denen in der Spalte „Expressversand“ das Wort „Ja“ steht. Du kannst das ein bisschen mit SUMMEWENNS in Excel vergleichen.

Summe Privatkunden = CALCULATE(SUM(Daten[Bestellsumme]), Daten[Käufer] = "Privat")

Ich bilde in dieser Kennzahl die Summe der Spalte „Bestellsumme“. Als zusätzliche Filterbedingung gebe ich an, dass in der Spalte „Käufer“ das Wort „Privat“ stehen muss.

Die fertige Power BI Desktop-Datei kannst du über folgenden Link kostenfrei herunterladen:


Fragen aus Februar 2024

Power BI Datenschutz

Frage vom 02.02.2024

Guten Tag

Mich würde ein datenschutzrechtlicher Aspekt interessieren. Ich erstelle PowerBI Berichte in der Desktop Version und veröffentliche diese auf powerbi.com, damit andere User darauf Zugriff haben. 

Wissen Sie, wo die Daten abgespeichert werden, sind diese lokal oder auch in der Cloud? Oder wären in der Cloud nur sog. Metadaten gespeichert?

Antwort

Power BI Desktop lädt sowohl die Berichtseiten als auch alle Daten (nicht nur Metadaten) in die Cloud. Sie finden in dem Arbeitsbereich, in welchem Sie den Bericht veröffentlicht haben, immer 2 Objekte:

  • Bericht (enthält die Berichtseiten)
  • Semantikmodell (enthält die Daten)
Bericht und Semantikmodell im Power BI-Dienst
Bericht und Semantikmodell im Power BI-Dienst

Wo die Daten physisch abgelegt werden, können Sie nachprüfen, indem Sie auf das "?" klicken und dann "Infos zu Power BI auswählen".

Geöffnetes Menü "?" im Power BI-Dienst. Menüpunkt „Infos zu Power BI“ ist grün eingekreist.
Wählen Sie "Infos zu Power BI" aus dem "?"-Menü

Dies öffnet ein Dialogfenster, welches Ihnen unter anderem zeigt, wo die Daten gespeichert sind.

Dialog im Power BI-Dienst, der zeigt, dass Daten im aktuellen Fall in Irland gespeicherten.
Im aktuellen Fall sind die Daten in Irland gespeichert.

Frage zu Power BI: CountX mit mehreren Parametern

Frage vom 27.02.2024

Hallo Jan,

ich möchte aus meinen Daten Zahlenwerte außerhalb bestimmter Toleranzgrenzen zählen. Das funktioniert mit einem Parameter so ganz gut:

Measure1 = COUNTX(Daten, IF(Daten[Spalte1] >= 1.0, 1, BLANK())

Hier werden alle Werte gezählt, die größer als 1,0 sind.

Wie kann ich nun aber größer und kleiner als 1,0 zusammen zählen lassen? Ich möchte beiden in einem Measure haben.

Antwort

Gehen wir einmal von einer Tabelle "Daten" mit diesen Werten aus:

Tabelle in Power BI mit der Spalte "Werte" und den Werten 2, 1 und 0 darin
Die Tabelle "Daten" hat diese Werte

Für die von dir beschriebene Aufgabe empfehle ich die Funktion CALCULATE. Im 1. Argument gibst du die gewünschte Berechnung an - hier also: zähle die Einträge in der Spalte Werte. In den folgenden Argumenten gibst du die Filterbedingungen ein. Hier die Formel für das Measure:

Kennzahl = 
CALCULATE(
    COUNT(Daten[Werte]), 
    Daten[Werte] > 1 || Daten[Werte] < 1
)

Im vorliegenden Fall benötigst du eine Oder-Verknüpfung der beiden Filterbedingungen. Dies machst du mit dem ||-Operator.

Das Measure liefert als Ergebnis 2. Es zählt also alle Zahlen, die größer oder kleiner als 1,0 sind. Dies trifft im aktuellen Beispiel auf die Zahlen 2 und 0 zu.


Fragen aus dem Januar 2024

Rückfragen Power BI

Frage vom 31.01.2024

Hallo Jan,

kann man die Auswertungen, die man in Power BI auch an jemanden verschicken, die kein Power BI haben?

Bestenfalls als PDF?

Antwort

In Power BI Desktop

Du kannst aus Power BI Desktop heraus alle Seiten in ein PDF-Dokumente exportieren:

  • Registerkarte Datei
  • Menüpunkt Exportieren
  • Befehl In PDF exportieren
Datei-Menü in Power BI Desktop. Menüpunkt "Exportieren" und Befehl "In PDF exportieren" sind grün eingekreist.
Über den Menüpunkt „In PDF exportieren“ kannst du alle Seiten in ein PDF-Dokument exportieren

Leider kannst du über diesen Weg nur alle Seiten in ein PDF exportieren.

Im Power BI-Dienst

Im Power BI-Dienst kannst du auch einzelne Seiten als PDF exportieren:

  • Menü Exportieren
  • Befehl PDF
Unter dem Menüpunkt „Exportieren“ im Power BI-Dienst ist der Befehl „PDF“ grün eingekreist
Im Power BI-Dienst kannst du auch einzelne Seiten als PDF exportieren

Mehr Informationen zum Thema PDF und Power BI findest du bei Microsoft:

Exportieren von Power BI-Berichten als PDF-Dateien


Power BI

Frage vom 16.01.2024

Guten Morgen Jan,

ich möchte gerne die Monatsanzeige in "umgekehrter Reihenfolge" zuerst Dezember, dann November etc., wie mache ich dies?

Matrix in Power BI Desktop mit Monatsnamen in den Spalten
Die Monatsnamen sollen in umgekehrter Reihenfolge sortiert werden

Antwort

Ich habe einen Blog-Beitrag zu diesem Thema verfasst. Mit dem dort gezeigten Trick sollte es funktionieren:

Power BI: Monate in umgekehrter Reihenfolge sortieren (Matrix)


Power BI | Measure liefert gleiches Ergebnis pro Monat

Frage vom 11.01.2024

Hallo Herr Herr Trummel,  

ich habe in Power BI eine Datumstabelle erstellt und im Datenmodell eine Beziehung zwischen dieser und den anderen Datenquellen hergestellt.  

Leider rechnen meine Summenmeasures nicht richtig, wenn ich aus der Datumstabelle das Jahr und den Monat in die Berichtstabelle übernehme.   Dann erhalte ich immer die Jahressumme für jeden Monat.  

Was mache ich falsch und woran kann das liegen?  

Vielen Dank vorab für Ihre Hilfe.  

Antwort

Prüfen Sie bitte einmal folgende Dinge:

1. Beziehungen

Prüfen Sie, ob Sie die Datumstabelle mit den anderen Datenquellen richtig verbunden haben. Die Datumsspalte der Datumstabelle sollte mit den Datumsspalten der anderen Datenquellen verbunden sein.

Stellen Sie sicher, dass nicht etwa eine andere Spalte der Datumstabelle in der Beziehung enthalten ist.

2. Datentypen

Stellen Sie sicher, dass die Datumsspalte Ihrer Datumstabelle den Datentyp Datum (und nicht etwa Datum und Uhrzeit) hat. Der Datentyp Datum sollte auch für die Datenspalten der anderen Datenquellen eingestellt sein.

3. Filter

Sind auf der Berichtseite eventuell Filter eingestellt, die sich auf die Ergebnisberechnung auswirken? Versuchen Sie erst einmal, die Visualisierung auf einer neuen leeren Berichtseite zu erzeugen. Erhalten Sie dann immer noch das gleiche Ergebnis?

4. Measures

Verwenden Sie Measures mit Zeitintelligenzfunktionen wie DATESYTD oder SAMEPERIODLASTYEAR? Dann stellen Sie sicher, dass die Zeitintelligenzfunktion sich immer auf die Datumsspalte der Datumstabelle bezieht (nicht etwa auf die Spalte Monat oder Jahr).

Wenn Sie dies geprüft haben und trotzdem immer noch das falsche Ergebnis erhalten, dann melden Sie sich bitte noch einmal bei mir.


Rückfragen

Frage vom 09.01.2024

Hallo Jan,

ich wünsche dir noch ein schönes erfolgreiches neues Jahr 😊

Zum neuen Jahr habe ich nun noch ein Anliegen.

Warum wird die Modellansicht immer größer, sobald ich eine neue Tabelle hinzufüge? Ich habe z.B. unten die ganzen Modelle zusammengefügt und wenn ich eine neue Tabelle hinzufüge, erscheint das Modell dafür ganz oben und es dauert ewig bis ich es nach unten gezogen habe.

Vielen Dank vorab.

Antwort

Ich habe einen Blogbeitrag zu diesem Thema verfasst. Ich hoffe, das hilft dir weiter!

3 Tricks für die Modellansicht von Power BI


Fragen aus dem November 2023

Frage zu Power BI / Karteneinstellung bzw. Zuordnungstyp hinzufügen

Frage vom 21.11.2023

Sehr geehrter Herr Trummel,

Ich bin Azubi und arbeite zusammen mit meinem Ausbildungskollegen an einem Projekt mit Power BI. Wir sollen eine Kartenansicht von Deutschland erstellen und wollen die Deutschlandkarte nach allen dreistelligen PLZ aufteilen. Nachdem man die Karte eingefügt hat, gibt es unter den Karteneinstellungen die Auswahl zu dem Zuordnungstypen, Projektion und die Eingabe „Fügen Sie einen Zuordnungstyp hinzu“. Das Problem dabei ist, dass wir darauf nicht draufdrücken können. Am Anhang können sie dies nochmal als Screenshot sehen. Wir fragen uns, wie man auf diese Eingabe zugreifen kann, weil wir darüber eine Karte einfügen wollen die Standorte nach 3-stelliger PLZ gefiltert sind.

Ihre Hilfe wäre für uns sehr Nützling und würde uns auf jeden Fall weiterbringen.

Antwort

Wählen Sie unter dem Menüpunkt Zuordnungstyp die Einstellung „Benutzerdefinierte Karte". Dann können Sie auf die Schaltfläche „Durchsuchen..." klicken.

Seitenleiste „Visualisierungen“ in Power BI Desktop. Verschiedene Einstellungen sind sichtbar. Das Auswahlfeld „Zuordnungstyp“ ist grün umrandet
Wählen Sie die „Benutzerdefinierte Karte“

Mehr Infos zu dieser Visualisierung finden Sie hier:

https://learn.microsoft.com/de-de/power-bi/visuals/desktop-shape-map#use-custom-maps


Fragen aus dem Oktober 2023

Frage zu PowerBI

Frage vom 31.10.2023

Sehr geehrter Herr Trummel,

nachdem bei uns im Werk sich keiner so tief mit PowerBI auskennt, möchte ich meine Frage nun an Sie richten.

Es geht um die Division zweier Spalten aus zwei verschiedenen Tabellen, welche beide im PowerBI eingebettet sind.

Vereinfacht sieht die Datengrundlage folgendermaßen aus:

Tabelle1

JahreEnergiejeBetrachtungsgrößeProzessID
20180,561
20193502
2020103
20210,81

Tabelle2

ProzessIDNormwert
10,9
2400
320

Es geht nun darum Tabelle1.Spalte2 durch Tabelle2.Spalte2 zu teilen. Abhängig von der ProzessID.

D.h. folgende Operationen: 0,56/0,9 ;  350/400  ; 10/20 ; 0,8/0,9

Meine Frage wäre daher wie sich sowas mit in PowerBI evtl. mit DAX implementieren lässt, sodass nicht einfach die Spalten durcheinander geteilt werden, sondern prozessabhängig dividiert wird.

Bereits im Voraus vielen Dank!

Antwort

Ich gehe davon aus, dass Sie diese Berechnung durchführen wollen:

EnergiejeBetrachtungsgrößeNormwertKennzahl
0,560,90,62
3504000,88
10200,50
0,80,90,89
Summe2,89
Beispielberechnung

Dies kann mit folgendem Measure gelingen:

Kennzahl = 
SUMX(
    Tabelle1,
    DIVIDE(Tabelle1[EnergiejeBetrachtungsgröße], RELATED(Tabelle2[Normwert]))
)

Mit der Funktion SUMX durchlaufe ich die Tabelle1 und führe für jede Zeile die Division (mit DIVIDE) durch. Am Schluss addiert SUMX alle Divisionsergebnisse zu einer Summe zusammen.

Die Funktion RELATED benötige ich, um aus Tabelle1 heraus auf die Spalte Normwert zugreifen zu können.

Beachten Sie bitte, dass beide Tabellen über die ProzessID verbunden sein müssen!

Matrix aus Power BI Desktop mit den Spalten „ProzessID" und "Kennzahl"
Die Kennzahlen errechnet die Summe aller Divisionen

Die Power BI Desktop-Datei können Sie hier herunterladen:


Power BI - Sicherheitsfilter

Frage vom 26.10.2023

Hallo Herr Trummel,

wir haben aktuell das Problem, dass ein einziger User folgende Fehlermeldung bekommt, sobald er ein Feld aus der Tabelle „Debitoren“ auswerten möchte:

Fehlermeldung aus Power BI
Fehlermeldung aus Power BI

Alle anderen Tabellen können von diesem User ohne Probleme ausgewertet werden.

Der User befindet sich in der selben Rechtegruppe wie viele andere User, die jedoch keine Probleme haben.

Haben Sie Erfahrung mit dieser Fehlermeldung?

Antwort

Meine Vermutung ist, dass in der Power BI Desktop-Datei ein Rollenfilter (auch „Sicherheitsfilter“ genannt) für die Tabelle „Debitoren“ (oder für eine mit dieser Tabellle verbundenen Tabelle) eingestellt ist. Klicken Sie auf der Registerkarte „Modellierung“ auf den Befehl „Rollen verwalten“, um die Rollen für die Datei zu sehen.

Auf der Registerkarte "Modellierung" in Power BI Desktop ist der Befehl "Rollen verwalten" grün eingekreist
In Power BI Desktop finden Sie die Rollen auf der Registerkarte "Modellierung"

Prüfen Sie auch im Power BI-Dienst, wie die Rollen den Benutzern zugewiesen sind. Öffnen Sie dazu das Menü „Sicherheit“ des Datasets.

Im Power BI-Dienst sind die weiteren Optionen eines Datasets geöffnet und dort ist der Befehl "Sicherheit" grün eingekreist.
Sie weisen die Rollen im Power BI-Dienst über die Option "Sicherheit" des Datasets einzelnen Benutzern zu

Mehr Infos zu Rollen finden Sie in diesem Dokument:

https://learn.microsoft.com/de-de/power-bi/enterprise/service-admin-rls


Mail PBI

Frage vom 02.10.2023

Hallo
Ich habe das Problem, dass ich über Power BI nicht auf selbst angelegte Felder in MS Project for he Web zugreifen kann.
Haben Sie dafür eine Lösung?

Antwort

Leider kann ich zu MS Project nicht viel sagen, da ich nicht damit arbeite.

Eventuell helfen Ihnen aber diese beiden Quellen, die ich speziell zu Power BI und MS Project Web App gefunden habe:

YouTube: Wie Sie Microsoft Project for the Web mit Power BI verbinden

YouTube: Wie Sie Microsoft Project for the Web mit Power BI verbinden

MS Learn: Herstellen einer Verbindung mit Project Web App mithilfe von Power BI

Ich wünsche Ihnen viel Erfolg!


Fragen aus dem September 2023

BI verwendete Spalten

Frage vom 12.09.2023

Guten Tag,

meine .pbix-Datei hat mittlerweile viele Tabellen (nebst zig Spalten von denen bestimmt viele davon zunächst aus "vorsicht" nicht gleich in PQ gelöscht wurden).

Nicht alle Tabellenspalten sind aber letztendlich  auch in Berichten/Visuals/Mesaures etc. verwendet.

Um die Datei abzuspecken, soll nicht benötigtes gelöscht werden.

Ja sicher, man könnte sich  jetzt zu Fuß all dem widmen, aber.. mach das mal...

Gibt es ein Script/Measure, ein ext. Tool, ein was auch immer, welches Folgendes macht:

1. Nenne alle Tabellen und deren Spalten die es in im PQ der pbix aktuell  gibt (Liste in einem Bericht oder externer Downlaod excel) 2. Nenne alle Spalten (und aus welcher Tabelle) die in BI verwendet sind

(dto.)

3. Die Differenz müssten dann die Spalten sein, die entfernt werden könnten/bzw erst gar nicht aus den Quellen geladen werden müssten.

Was man dann irgendwann braucht, kann man ja wieder reinholen, durch das Säubern würde ich mir aber vermutlich eine MB bisher unnötig mitgeschleppte Daten sparen.

Antwort

Power Query - Spalten auswählen

Hier fällt mir spontan der Befehl „Spalten auswählen“ in Power Query ein:

Registerkarte „Start“ von Power Query. Befehl „Spalten auswählen“ ist grün umkreist.
Den Befehl „Spalten auswählen“ finden Sie in Power Query auf der Registerkarte „Start“

Damit erhalten Sie eine Auflistung aller Spalten in einer Tabelle. Spalten die Sie nicht benötigen können Sie einfach abwählen.

Liste mit Spalten einer Tabelle, die über Kontrollkästchen abgehakt werden können
In der Liste können Sie Spalten, die Sie nicht benötigen, einfach abwählen

Tabular Editor

Als externes Programm können Sie den Tabular Editor verwenden. Diese ist in der Version 2 Open Source (in höheren Versionen allerdings kostenpflichtig). Sie können das Tool hier herunterladen: https://www.sqlbi.com/tools/tabular-editor/

Sie finden es dann auf der Registerkarte Externe Tools in Power BI Desktop:

Registerkarte „Externe Tools“ und darauf der Befehl „Tabular Editor“ sind grün umkreist
Den Tabular Editor finden Sie nach der Installation auf der Registerkarte „Externe Tools“

In dem Ordner „Tables“ sehen Sie alle Tabellen und darin auch alle Spalten sowie die Measures in Ihrer Datei. Sie können Spalten löschen, allerdings werden diese wirklich nur aus dem Modell gelöscht (ein entsprechender Schritt in Power Query wird nicht erzeugt, dort bleibt die Spalte also in der Tabelle erhalten).

Im Tabular Editor ist der Ordner „Tables“ geöffnet. Der Inhalt ist mit einer grünen Rahmenlinie umschlossen
Im Ordner „Tables“ finden Sie alle Tabellen und Spalten in ihrer Power BI Desktop-Datei

Ehrlich gesagt würde ich es erst mal mit dem oben gezeigten Befehl in Power Query versuchen, da dies meiner Ansicht nach sauberer und im Nachhinein auch besser nachvollziehbar ist. Nichtsdestotrotz kann der Tabular Editor ein hilfreiches Werkzeug sein, da er Ihnen unter anderem auch Abhängigkeiten von Measures untereinander anzeigen kann.


Problem mit Aktualisierung Power BI

Frage vom 06.09.2023

Hallo Herr Trummel,

ich habe ein Problem, bei dem mir meine IT bisher nicht helfen kann. Evtl. haben Sie da Erfahrungen. Meine Dateien werden nicht mehr aktualisiert und ich bekomme folgende Fehlermeldung:

Fehler beim Speichern von Änderungen auf dem Server. Zurückgegebener Fehler: „Es steht nicht genügend Arbeitsspeicher zum Ausführen dieses Vorgangs zur Verfügung. Versuchen Sie es später noch mal, wenn möglicherweise mehr Arbeitsspeicher verfügbar ist.“.

An meinem PC kann ich keine Ursache ausfindig machen.

Haben Sie eine Idee, woher das kommt?

Vielen Dank!

Antwort

Power BI Desktop lädt importierte Daten in den Arbeitsspeicher. Sind die Tabellen sehr groß, dann kann es gegebenenfalls sein, dass der Arbeitsspeicher Ihres Rechners nicht mehr ausreicht.

Bitte prüfen Sie einmal:

  • Nutzen Sie Power BI Desktop in der 32-Bit- oder der 64-Bit-Version?
  • Wie viele Tabellen haben Sie in Power BI Desktop geladen?
  • Wie viele Zeilen und Spalten haben Ihre Tabellen?
  • Wie viel Arbeitsspeicher hat Ihr Rechner?
  • Wie hoch ist die Auslastung des Arbeitsspeichers (prüfen Sie dies über den Task Manager)

Das können Sie tun:

  • Versuchen Sie einmal die Power BI Desktop-Datei auf einem anderen Rechner zu aktualisieren. Falls es dort funktioniert, könnte es tatsächlich mit mangelndem Arbeitsspeicher auf Ihrem aktuellen Rechner zu tun haben.
    Falls Sie Probleme mit dem Aktualisieren auf einem anderen Rechner haben, schauen Sie sich einmal diesen Blogbeitrag an:
    Datei beim Aktualisieren nicht gefunden – Power BI Datenquelle ändern
  • Entfernen Sie Spalten, die Sie nicht benötigen. Dies reduziert die Datenmengen, die Power BI Desktop in den Arbeitsspeicher laden muss. Gegebenenfalls könnten Sie auch Zeilen reduzieren, indem Sie in Power Query mit Filtern arbeiten.
  • Falls Sie die 32-Bit-Version von Power BI Desktop nutzen, könnten Sie in Erwägung ziehen, auf die 64-Bit-Version umzusteigen. Beachten Sie aber, dass Sie das gesamte Projekt gegebenenfalls neu anlegen müssen!
  • Falls Sie Daten aus Datenbanken importieren, könnten Sie auf Direct Query umsteigen. Das Programm importiert dann keine Daten mehr, sondern sendet SQL-Befehle an die Datenbank. Beachten Sie aber, dass Direct Query einige Einschränkungen mit sich bringt!

Fragen aus dem August 2023

Abfrage auf anderen SQL Server

Frage vom 28.08.2023

Kann man in einem SQL-Befehl auf Datenbanken in anderen SQL Servern zugreifen?

Antwort:

Ich habe ein wenig recherchiert und herausgefunden, dass dies über sogenannte Verbindungserver möglich ist.
Hier ein Auszug aus der Microsoft Hilfe:

Mithilfe von Verbindungsservern können SQL Server-Datenbank-Engine und Verwaltete Azure SQL-Instanz Daten aus Remotedatenquellen lesen und Befehle für Remotedatenbankserver (z. B. OLE DB-Datenquellen) außerhalb der Instanz von SQL Server ausführen. Normalerweise werden Verbindungsserver so konfiguriert, dass die Datenbank-Engine eine Transact-SQL-Anweisung ausführen kann, die Tabellen in einer anderen Instanz von SQL Server oder einem anderen Datenbankprodukt wie Oracle enthält. Viele Typen von OLE DB-Datenquellen können als Verbindungsserver konfiguriert werden, darunter Datenbank-Drittanbieter und Azure Cosmos DB.

Microsoft. Verbindungsserver (Datenbank-Engine). https://learn.microsoft.com/de-de/sql/relational-databases/linked-servers/linked-servers-database-engine?view=sql-server-ver16 Abgerufen am 02.09.2023

Der Zugriff erfolgt, wenn der Verbindungserver eingerichtet ist, über einen 4-teiligen Namen in folgender Form:

SELECT name FROM [SRVR002\ACCTG].master.sys.databases;  

Bezüglich der Windows-Authentifizierung habe ich über ChatGPT folgendes herausgefunden:

Wenn Sie Windows-Authentifizierung verwenden, stellen Sie sicher, dass das Konto, unter dem Sie angemeldet sind, Zugriff auf beide Server hat. Bei der Einrichtung des verknüpften Servers können Sie angeben, welche Art von Authentifizierung verwendet werden soll.

ChatGPT. Frage gestellt am 02.09.2023


Power BI / Datediff

Frage vom 28.08.2023

Hallo,

ich habe eine Spalte Anlagedatum und eine Spalte Erledigt_AM.

Ist das Ereignis nicht Erledigt hat die Spalte Erledigt_AM einen NULL Wert.

Wie kann ich die Dauer zwischen Anlagedatum und Erledigt_AM mit NULL Wert bis heute errechnen.

Die Dauer soll in Tagen ausgegeben werden.

Antwort

Gehen Sie einmal von diesen Daten aus:

Tabelle in Power BI Desktop mit den Spalten "Anlagedatum" und "Erledigt_AM". In der 2. Spalte ist eine Zelle leer.
In der Beispieltabelle fehlt im 2. Datensatz der Wert für "Erledigt_AM"

Ich erzeuge in der Tabelle nun eine berechnete Spalte. In dieser prüfe ich, ob der Wert in der Spalte "Erledigt_AM" leer ist. Ist dies der Fall, dann nehme ich als Enddatum das aktuelle Datum (Stand heute: 28.08.2023).

Dauer = 
VAR vEnddatum =
IF(
    ISBLANK(Beispiel[Erledigt_AM]), 
    TODAY(), 
    Beispiel[Erledigt_AM]
)
VAR vErgebnis =
DATEDIFF(
    Beispiel[Anlagedatum], 
    vEnddatum, 
    DAY
) + 1
RETURN
vErgebnis

Hier ist die Tabelle mit der neuen Spalte "Dauer":

Tabelle in Power BI Desktop mit 3 Spalten. Die letzte Spalte zeigt für jeden Datensatz eine Dauer an.
Die Spalte "Dauer" zeigt für jeden Datensatz die Dauer an.

Hier können Sie die fertige Power BI Desktop-Datei herunterladen:


Power BI Measure

Frage vom 03.08.2023

Wie kann ich mir bei einem Measure unten bei Gesamt nicht die Summe, sondern den Durchschnitt anzeigen lassen ?

Antwort

Gehen Sie einmal von diesen Daten aus:

Tabelle in Excel mit Artikeln, Einzelpreisen und der Lagermenge
In der Tabelle gibt es zu jedem Artikel eine Haupt- und eine Unterkategorie

Sie können die Beispieldaten hier kostenlos herunterladen:

Mit diesem Measure können Sie in der Gesamtergebniszeile den Durchschnitt errechnen, in allen anderen Zeilen dagegen die Summe:

Kennzahl = 
IF(
    ISINSCOPE(Lager[Hauptkategorie]), 
    SUMX(Lager, Lager[Einzelpreis] * Lager[Lagermenge]), 
    AVERAGEX(Lager, Lager[Einzelpreis] * Lager[Lagermenge])
)

Hier das Ergebnis:

Eine Matrix in Power BI Desktop. Ein grüner Pfeil mit der Aufschrift „Durchschnitt“ zeigt auf die Ergebniszeile.
In der Ergebniszeile steht der Durchschnitt, in allen anderen Zeilen die Summe.

Power BI Measure

Frage vom 02.08.2023

Guten Tag Herr Trummel,

eine kurze Frage bezüglich Measures.

Nehmen wir an ich habe folgende Tabelle:

Menge                 Bons

3                             2

14                           1             

23                           3

-----------------------------

40                           6

Ich möchte ein Measure die mir berechnet : die Spalte Menge/ Gesamtsumme Spalte Bons

Ergebnis wäre :

Menge                 Bons2                   x

3                             2                             3/6

14                           1                              14/6

23                           3                             23/6

-----------------------------

40                           6

Antwort

Gehen wir einmal davon aus, dass Ihre Tabelle den Namen "Umsatz" hat. Dann können Sie folgende Formel benutzen:

Kennzahl = SUM(Umsatz[Menge]) / CALCULATE(SUM(Umsatz[Bons]), ALL(Umsatz))

CALCULATE und ALL bewirken, dass der Filterkontext für Bons deaktiviert wird, Sie also immer mit der Gesamtsumme rechnen.

Eine Tabelle in Power BI Desktop mit den Spalten Menge, Bons und Kennzahl.
Das Measure "Kennzahl" dividiert immer durch die Summe von "Bons"

Frage zur PowerBI-Funktionen Distinct bzw. Values

Frage vom 01.08.2023

Hallo Herr Trummel,

ich habe folgende Frage:

Über die Funktion Distinct habe ich aus einer Tabellenspalte alle Einträge ausgelesen und in eine neue Tabelle gebracht.

Jedoch gibt es in der Ursprungstabelle auch leere Einträge, so dass ein Leereintrag auch in der neuen Tabelle auftaucht.

Gibt es eine Möglichkeit, das zu verhindern? Mit der Funktion Values erhalte ich das gleiche Ergebnis…

Tabelle in Power BI welche mit der Funktion DISTINCT erzeugt wurde. Die Tabelle hat eine leere Zeile.
Die Funktion DISTINCT gibt auch die leere Zeile aus. Mit VALUES erhalten wir das gleiche Ergebnis

Antwort

Sie können folgende Formel benutzen:

Tabelle = 
CALCULATETABLE(
    DISTINCT(Bezeichnungen[Kürzel]),
    Bezeichnungen[Kürzel] <> BLANK()
)

Eine ausführliche Erklärung finden Sie in meinem Blogbeitrag ChatGPT-Prompts für Power BI: Eindeutige Einträge ohne leere Werte ausgeben. Dort habe ich aufgezeigt, wie man mit Hilfe der generativen Künstlichen Intelligenz und dem richtigen Prompt eine passende Formel für Power BI finden kann. Viel Spaß beim Lesen!


Fragen aus dem Juli 2023

Power BI

Frage vom 20.07.2023

Guten Tag Herr Trummel,

ich habe noch eine Frage.

Kann ich in Power BI Zeilen miteinander berechnen ? Also ich habe beispielsweise die Spalten Kostenstelle, Datum, Wareneinsatz, Personalkosten, Werbekosten, usw. .

Und ich möchte für die Zeile „Bochum“, die in der Spalte Kostenstelle die Personal und Werbekosten zusammenrechnen.

Andere kurze Frage, haben Sie schonmal DateVconnect mit PowerBI verbunden ?

Antwort

Sie können Zeilen nicht einfach zusammenrechnen, so wie sie es aus Excel kennen.

Sie könnten aber ein Measure mit der Funktion CALCULATE erzeugen, ungefähr nach diesem Muster (ohne dass ich die genauen Spaltenbezeichnung kenne):

=CALCULATE(SUM(MeineTabelle[Kostenstelle]), MeineTabelle[Ort] = "Bochum")

PS: Nein, DateVconnect habe ich noch nicht benutzt.


Power BI

Frage vom 20.07.2023

Ich habe noch 2 kleine Fragen bezüglich Power BI, die auch eventuell gut für Ihre Seite wären.

  1. Ich habe Spalten mit Datum, also bsp. Eine Spalte mit „Juni 2023“, eine Spalte mit „Dezember 2022“ usw.
    Die Spalten haben Umsätze drin. Kann ich dann mit einem Filter das Datum eingrenzen ? Bsp. Ich möchte nur mai-juli 2023 angezeigt haben.
    Dann müsste ja die Spaltenüberschrift das Format Datum haben oder ? Geht sowas ?
  1. Kann ich für eine Tabelle die ich bei der Visualisierung hinzufüge die Tabelle Transponieren ? Bsp. Ich habe die Spalten Kostenstelle, Datum, Wareneinsatz, Personalkosten, Werbekosten, usw. aber ich möchte für eine Tabelle die Spalten Senkrecht angezeigt bekommen wie bei einer GuV.

Antwort

Aus Ihrer Frage lese ich heraus, dass die Tabelle noch nicht die richtige Form hat, um die Daten mit Power BI zu analysieren. Ich vermute, dass Ihre Tabelle ungefähr so aussieht:

Tabelle mit einer Produktspalte und mehreren Monatsspalten
Die Tabelle hat eine Spalte pro Monat. Dies ist für Power BI jedoch sehr ungünstig.

Solche Daten können Sie mit Power BI nicht komfortabel analysieren. Ich empfehle Ihnen die Tabelle in Power Query aufzubereiten, sodass sie eine normalisierte Form erhält.
In diesem einfachen Beispiel lässt sich das über Entpivotieren erreichen.

Tabelle mit den Spalten Produkt, Attribut und Wert
Die entpivotierte Tabelle lässt sich in Power BI gut analysieren

Anschließend können Sie mit Zeitintelligenzfunktionen ganz einfach Umsätze aus verschiedenen Zeiträumen verrechnen oder vergleichen.

Melden Sie sich gerne bei mir, wenn Sie Unterstützung beim Transformieren benötigen.


Fragen aus dem Juni 2023

Power BI

Frage vom 30.06.2023

Guten Tag Herr Trummel,

kurze Frage, ich habe zwei Excel Dateien in Power BI abgerufen.

Die Erste Datei „Klicks“ mit den Spalten Marke, Datum und den Klicks.

Und die zweite Datei „Umsatz“ mit Marke, Datum und Umsatz.

Die Datei Klicks hat für pro Tag pro Marke immer nur eine gefüllte Zeile. Die Datei Umsatz hat pro Tag pro Marke paar Umsätze also mehrere Zeilen.

Meines Wissens nach sollte hier automatisch eine 1:n Beziehung der Marken oder des Datums aufgebaut werden, also eine Marke oder Datum von „Klicks“, kann beliebig viele Marke oder Datum von „Umsatz“ enthalten. Weil ja Bsp. In der „Klicks-Datei“ steht :

„Klicks“

DatumMarkeKlicks
01.05.2023Samsung231

„Umsatz“

DatumMarkeUmsatz
01.05.2023Samsung54,54€
01.05.2023Samsung1234,54€
01.05.2023Samsung642,33€
01.05.2023Samsung211,69€

Es wird keine Beziehung automatisch erstellt und ich kann nur eine n*m Beziehung herstellen. Und da ich nur eine Beziehung aktivieren kann, entweder die Beziehung zischen den Marken oder zwischen Datum, kann Power BI das bei mir nicht zusammenfassen.

Wenn ich mir von „Klicks“ das Datum filtere, fasst er den Umsatz nicht richtig zusammen und wenn ich von „Umsatz“ das Datum filtere, fasst er mir die Klicks nicht richtig zusammen.

Das gleiche gilt auch , wenn ich nach Marke filtere.

Ich hoffe Sie konnten mein Problem einigermaßen verstehen und ich würde mich über eine Hilfe sehr freuen 😊

Antwort

Sie versuchen 2 Faktentabellen miteinander zu verbinden. Dies führt in den allermeisten Fällen zu n-m-Beziehungen, welche nach Möglichkeit vermieden werden sollten.

Sie brauchen 2 weitere Tabellen (Stammdatentabellen), welche Sie mit den Faktendatentabellen verbinden. Hier einmal schematisch dargestellt

Bild zeigt 4 Tabellen, welche über Linien miteinander verbunden sind
Legen Sie zusätzliche Stammdatentabellen an

Verwenden Sie die Felder aus den Stammdatentabellen dann bitte als Gruppierungsfelder im Bericht.

Melden Sie sich gerne bei mir, wenn Sie Unterstützung bei der weiteren Umsetzung benötige!


what if Funktion

Frage vom 05.06.2023

Hallo Herr Trummel,

bei einem Versuch, eine What If Analyse  für das Projekt durchzuführen (zukünftig werden mehrere Projekte analysiert werden müssen), stehe ich vor einer Herausforderung. 

  1. Ich kann nicht verstehen, warum sich das Bild der Summe Change Wert (links) geändert hat. Was habe ich getippt, dass es anders aussieht? Wie sie auf dem Bild sehen können, unterscheidet sich das Change Wert von links von dem auf der rechten Seite.

2. Ich habe versucht eine "What if Analyse" zu erstellen, aber klappt es nicht. Obwohl ich genauso das Gleiche tue wie es in einem YouTube-Video gezeigt ist. Dann erhalte ich diesen Fehler. Jetzt bin ich frustriert, da ich nicht begreifen kann, wie man dies für ein Projekt umsetzt.

Fehlermeldung in Power BI beim Erstellen eines Measures
Fehler in Power BI

Antwort

In einem Measure müssen Sie eine Zusammenfassungsfunktion wie SUM, AVG oder COUNT benutzen. Sie können nicht ohne eine solche Funktion auf die Daten zugreifen. Genau das will Ihnen auch die Fehlermeldung sagen.

Stellen Sie sich vor, Sie hätten diese Tabelle:

Tabelle in Power BI mit Jahreszahlen und Umsätzen
Tabelle „Ergebnisse"

Ich möchte für jedes Jahr prüfen, ob der Umsatz größer als 1000 € war. Ist die Bedingung erfüllt, dann möchte ich „gut“ ausgeben, ansonsten „schlecht“.

Wenn ich nun versuche, in der IF-Funktion direkt auf die Spalte Umsatz zuzugreifen, dann erhalte ich diese Fehlermeldung:

Fehlermeldung in einem Measure in Power BI
Diese Fehlermeldung sagt, dass ich eine Zusammenfassungsfunktion wie MIN, MAX oder COUNT benutzen muss

Stattdessen nutze ich zum Beispiel die Funktion SUM benutzen, um die Zahlen zu einer Summe zusammenzufassen:

Kennzahl = IF(SUM(Ergebnisse[Umsatz]) > 1000, "gut", "schlecht")

Probieren Sie es aus:


Fragen aus dem April 2023

Durchschnittslinie

Frage vom 06.04.2023

Hallo Herr Trummel,

für unseren Krankenstand (der monatlich immer etwas in seiner Darstellung erweitert und verschönert wird) stehe ich gerade vor folgender Herausforderung:

Diagramm in Power BI, das den Krankenstand als Säule und den Durchschnitt als Linie zeigt.
Diagramm mit Krankenstand

Die Durchschnittslinie kann ich  zwar einfügen, sie errechnet den Mittelwert aus den drei Monatswerten (3,22 + 9,88 + 8,36 = 21,46 / 3 =7,15%).

Der gewichtete Durchschnitt, der sich rechnerisch korrekt aus der Summe der Werte Jan, Feb und März ergibt, weicht davon so gut wie immer ab. Den bekomme ich mit 7,09% zwar errechnet, aber ich habe keinen Weg gefunden ihn auch als Linie (analog zur Ziellinie) anzuzeigen.

Wissen Sie wie es gehen kann?

Schöne Ostern und vielen Dank im Voraus😊

Antwort

Gehen wir einmal von folgenden Daten aus:

DatumBetrag
01.01.2022220,00 €
01.02.2022632,00 €
01.03.2022647,00 €
01.04.2022229,00 €
01.05.2022231,00 €
01.06.2022880,00 €
01.07.2022306,00 €
01.08.2022777,00 €
01.09.2022788,00 €
01.10.2022631,00 €
01.11.2022737,00 €
01.12.2022702,00 €
01.01.2023209,00 €
01.02.2023177,00 €
01.03.2023800,00 €
01.04.2023310,00 €
01.05.2023360,00 €
01.06.2023121,00 €
01.07.2023216,00 €
01.08.2023320,00 €
01.09.2023435,00 €
01.10.2023377,00 €
01.11.2023300,00 €
01.12.2023785,00 €
Tabelle "Umsätze"

Außerdem habe ich eine Kalendertabelle, welche mit dem UmsatzTabelle über eine 1-N-Beziehung verknüpft ist.

In einem Diagramm möchte ich den Umsatz (als Balken) und den Durchschnittsumsatz (als Linie) zeigen. Betrachten möchte ich immer nur ein bestimmtes Jahr.

Ich lege folgendes Measure an:

Durchschnittsumsatz = 
CALCULATE(
    AVERAGE('Umsätze'[Betrag]),
    ALLEXCEPT(Kalender, Kalender[Jahr])
)

Mithilfe der Funktion ALLEXCEPT entferne ich den Filterkontext für alle Spalten der Kalendertabelle (mit Ausnahme der Spalte Jahr).

Ich wähle ein Diagramm vom Typ Linien- und gruppiertes Säulendiagramm. Über einen Datenschnitt kann ich jeweils ein Jahr auswählen.

Das ist mein Ergebnis:

Ein Diagramm in Power BI, welches für jeden Monat eine Säule sowie einen Durchschnitt als Linie zeigt.
Das Diagramm zeigt den Durchschnittsumsatz als graue Linie.

Fragen aus dem März 2023

SQL Unterabfrage Problem

Frage vom 20.03.2023

Hallo Herr Trummel

ich hoffe es geht Ihnen gut.

Sehr wahrscheinlich haben wir die folgende frage bereits in ihrem Kurs Anfang des letzten Jahres gehabt. Ich habe folgendes Problem:

Ich möchte aus der Datenbank ... zusätzlich zu den bereits angezeigten Zahlen aus Monat 1 bis 12 noch zusätzlich als eigene Spalte die entsprechenden Amount_Balance aus Monat 0 (EB/SALDO).

Hier das Beispiel wie wir es bisher händisch in EXCEL erstellt haben.

KontoKonto BezeichnungEB/SALDOSollsaldoHabensaldoSaldo
503014xxxx6733248,420,000,006733248,42
503016xxxx228950,06115706,84115706,84228950,06

Antwort

Gehen Sie von folgenden Daten in der Tabelle Buchhaltung aus:

Tabelle "Buchhaltung" in MS SQL Server mit mehreren Spalten
Tabelle "Buchhaltung"

Ich nutze jeweils 2 Unterabfragen, die ich über einen INNER JOIN verbinde.

In der Unterabfrage Daten filtere ich auf die Monate 1 - 12.

In der Unterabfrage Monat_0 filtere ich auf den Monat 0. Aus dieser frage ich nur die Spalte Saldo ab.

Die Abfragen verbinde ich jeweils über die KontoNr.

SELECT 
	Daten.KontoNr, Daten.Konto, Daten.Soll, Daten.Haben, Daten.Saldo,
	Monat_0.Saldo AS 'EB/SALDO'
FROM  
(
	SELECT
		KontoNr,
		Konto,
		SUM(Soll) AS Soll,
		SUM(Haben) AS Haben,
		SUM(Saldo) AS Saldo
	FROM 
		Buchhaltung
	WHERE
		Jahr = 2022 AND
		Monat BETWEEN 1 AND 12
	GROUP BY
		KontoNr, Konto
) AS Daten
INNER JOIN
(
	SELECT
		KontoNr,
		Konto,
		SUM(Saldo) AS Saldo
	FROM 
		Buchhaltung
	WHERE
		Jahr = 2022 AND
		Monat = 0
	GROUP BY
		KontoNr, Konto
) AS Monat_0
ON 
	Monat_0.KontoNr = Daten.KontoNr
ORDER BY
	Daten.Konto;

Hinweis: SQL-Code stammt von MS SQL Server.

Hier das Abfrageergebnis:

Abfrageergebnis mit der Spalte "EB/SALDO" in MS SQL Server
Abfrageergebnis mit der Spalte "EB/SALDO"

Fragen aus dem Februar 2023

Abfrage Measure

Frage vom 21.02.2023

Guten Morgen Herr Trummel,

gibt es die Möglichkeit, ein Measure zu schreiben, welches ein Datum aus diversen Zeilen erkennt und anhand des aktuellen Datums abgleicht, ob ein Datum „abgelaufen“ ist ?

Beispiel

Datum
15.02.2023
31.01.2023
28.02.2023
31.03.2023
Tabelle "Datumsangaben"

Anhand des heutigen Datums, 21.02.2023, sollte das Measure den Wert ausgeben, dass 2x Einträge abgelaufen sind (31.01., 15.02.).

Antwort

Verwenden Sie folgendes Measure:

Abgelaufene Datumsangaben = 
CALCULATE(
    COUNTROWS(Datumsangaben), 
    Datumsangaben[Datum] < TODAY()
)

Die Formel zählt alle Zeilen der Tabelle Datumsangaben, bei denen das Datum kleiner ist als das heutige Datum (Funktion TODAY).

Die Antwort (Stand heute) ist 2.


Kennzahlen Wochenproduktion errechnen

Frage vom 15.02.2023

Guten Morgen Herr Trummel,

ich habe eine Frage zu einer Berechnung in Power BI.

Meine Tabellen sehen als sehr vereinfachtes Beispiel wie folgt aus:

2 Tabellen, die IST- und SOLL-Werte zeigen
Beispieltabellen

Diese Tabelle wird nach jeder Schicht durch Eingaben in eine Power App gefüllt.

Ich würde jetzt gerne in meinem Bericht ausweisen (wird jeden Tag morgens vom Vorgesetzten angesehen), wie viele Teile in der jeweiligen Kalenderwoche noch zu produzieren sind.

Könne Sie mir da helfen?

Vielen lieben Dank.

Antwort

Hier ein Lösungsansatz, der das Problem aber (wahrscheinlich) noch nicht in Gänze löst:

Sie benötigen eine Datumstabelle (heißt bei mir Kalender), über welche Sie die beiden Tabellen verbinden. In der Datumstabelle müssen Sie zuvor eine Spalte mit der Kalenderwochennummer erzeugen. Dazu können Sie die Funktion WEEKNUM benutzen.

Erzeugt eine Spalte mit Kalenderwochennummern:

KW Nummer = WEEKNUM(Kalender[Datum],2)

Erzeugt eine Spalte mit Kalenderwochennummern nach ISO-Norm 8601:

KW Nummer = WEEKNUM(Kalender[Datum],21)

Verbinden Sie die Tabellen IST und Kalender im Datenmodell wie folgt:

3 Tabellen, die in Power BI miteinander verbunden sind.
Verbinden Sie IST[Datum] mit Kalender[Datum].

Anschließend Verbinden Sie die Tabellen SOLL und Kalender:

Datenmodell in Power BI, 3 Tabellen sind miteinander verbunden
Verbinden Sie SOLL[KW] mit Kalender[KW Nummer].

Nun können Sie folgende Measures anlegen:

IST Teile = SUM(IST[Produzierte Teile])
SOLL Teile = SUM(SOLL[Teile SOLL])
Differenz SOLL IST = [IST Teile] - [SOLL Teile]

Nun erzeugen Sie eine Matrix. Geben Sie im Zeilenbereich das Feld SOLL[KW] aus. In den Wertebereich ziehen Sie die 3 Measures:

Matrix in Power BI, die pro KW die Ergebnisse der 3 Measures anzeigt
Die Matrix zeigt Ist, Soll und Differenz der Teile an.

Hinweis: Beachten Sie bitte, dass dies noch keine vollständige Lösung ist, sondern eher als ein Lösungsvorschlag zu interpretieren ist. Beispielsweise können Sie hier noch nicht zwischen Früh- und Spätschicht unterscheiden.


Power BI Frage

Frage vom 03.02.2023

Hallo Herr Trummel,

nach unserem letzten Gespräch konnte ich nun einige Auswertungen starten und sehe auch, dass manches nicht immer so einfach ist. ...aber das wussten Sie sicherlich bereits 😉

So habe ich das Problem, dass ich in einer Auswertung (Power BI Desktop) in einer Matrix in mehreren Spalten Measures verwende, um auf die gewünschten Ergebnisse zu kommen. Das habe ich auch soweit hinbekommen, und es rechnet richtig. Nun rechnet es mir aber in diesen Spalten das Gesamtergebnis nicht richtig aus. Gibt es dafür eine Möglichkeit, dass diese Spalten bei Gesamtsumme nicht das Measures verwenden, sondern da vielleicht eine Art normaler Summen()-Funktion greift?

Antwort

Schauen Sie sich folgende Matrix an. Sie zeigt den Umsatz und den Umsatz im Jahresverlauf (auch „Year-to-Date“, abgekürzt „YTD“).

Matrix in Power BI, in der eine Zahl rot eingekreist ist.
Die rot eingekreist Zahl zeigt das falsche Ergebnis.

Im Measure Umsatz verwende ich folgende Formel:

Umsatz = SUM(Bestellungen[Gesamtpreis])

Im Measure Umsatz YTD habe ich diese Formel eingegeben:

Umsatz YTD = CALCULATE([Umsatz], DATESYTD(Kalender[Datum]))

Aufgrund des Filterkontextes ist die Gesamtsumme (im Bild oben rot eingekreist) nicht korrekt. Mithilfe der Funktion HASONEVALUE können Sie ermitteln, ob im jeweiligen Filterkontext nur ein Kalenderjahr enthalten ist. Die Funktion liefert True oder False. Damit können Sie ermitteln, ob sie in der Gesamtzeile sind. Beachten Sie, dass der Filterkontext für jeden einzelnen Ergebniswert in der Matrix ermittelt wird!

Mit dem Measure Umsatz YTD besser errechne ich in der Gesamtzeile das korrekte Ergebnis.

Umsatz YTD besser = 
IF(
    HASONEVALUE(Kalender[Jahr]),
    CALCULATE(
        [Umsatz],
        DATESYTD(Kalender[Datum])
    ),
    [Umsatz]
)

Hier die Matrix mit dem neuen Measure:

Matrix in Power BI mit mehreren Spalten, Gesamtergebnis in letzter Spalte ist rot eingekreist.
Das Gesamtergebnis in der letzten Spalte (rot eingekreist) zeigt hier das richtige Ergebnis.

Mehr über den Filterkontext erfahren Sie in meinem Seminar Power BI - Perfekt für Einsteiger!


Im Nachgang zum Seminar

Frage vom 02.02.2023

Hallo Herr Trummel,

gerne komme ich auf Ihr Angebot der Fragestellung zurück. Ich habe mittlerweile häufig in Power BI gearbeitet und damit z.B. die neue Krankenstatistik für unsere Gruppe erstellt.

Es geht mir um die grün dargestellte Y-Linie, die die Anzahl der Mitarbeiter der Bereiche darstellt. Optisch finde ich störend, dass die dazugehörigen (gelb markierten) Wertefelder weiß hinterlegt sind.

Bei den prozentualen Wertefeldern finde ich die weißen Hintergründe gut, bei den gelb markierten hätte ich die weißen Hintergründe gerne weg. Geht das?

Freue mich auf Ihre Antwort und bedanke mich sowohl im Voraus als auch nochmal für den Horizont, den Sie uns in den Seminartagen geöffnet haben😊

Antwort

Nehmen Sie folgendes Diagramm als Beispiel:

Diagramm in Power BI, welches blaue Säulen und eine grüne Linie zeigt, außerdem aktivierte Datenbeschriftungen
In dem Diagramm haben alle Datenbeschriftungen einen weißen Hintergrund

Sie sehen den Umsatz für Gewerbe- und Privatkunden als blaue Säulen, sowie die Absatzmenge als grüne Linie. Die Datenbeschriftung ist aktiviert und hat jeweils einen weißen Hintergrund.

Ich möchte nun den weißen Hintergrund bei der Absatzmenge deaktivieren.

Dazu gehe ich ins Format-Menü (Pinsel) und öffne den Abschnitt Datenbeschriftungen.

Im Unterabschnitt Datenreihen stelle ich die Absatzmenge ein. Meine Änderungen gelten also nur für die grüne Linie. Weiter unten stelle ich dann den Hintergrund aus (Schieberegler nach links schieben).

Ausschnitt aus Format-Menü von Power BI Desktop, in welchem mit roten Kreisen bestimmte Optionen ausgewählt sind.
Wählen Sie die Datenreihe aus, für welche Sie Änderungen vornehmen möchten

Das Diagramm sieht nun wie folgt aus:

Diagramm in Power BI Desktop mit Säulen und einer Linie. Ein Datenbeschriftungen haben Hintergründe, andere nicht.
Die Datenbeschriftung der grünen Linie hat nun keine Hintergründe mehr.

Gegebenenfalls sollten Sie noch die Farben der Säulen ändern, da einige Datenbeschriftungen nun nicht mehr so gut zu erkennen sind.


Fragen aus dem Januar 2023

Power BI Liniendiagramm

Frage vom 07.01.2023

Sehr geehrter Herr Trummel,

ich möchte in einem Liniendiagramm lediglich einen einzelnen Wert (aktueller Monat, in dem Bsp. den Wert für Oct) über die Schriftgröße hervorheben.

In der Farbrolle besteht die Möglichkeit aber nur für die gesamte Linie. Gibt es einen Trick (oder eine spezielle Dax-Funktion, über die oder den man zum Ziel gelangt?

2 Liniendiagramme auf einem wolkigen Hintergrund, eine Datenbeschriftung ist hervorgehoben
Liniendiagramm in Power BI

Antwort

Schauen Sie sich dieses Liniendiagramm an:

Blaue Linie in einem Liniendiagramm in Power BI mit aktivierter Datenbeschriftung.
Im Liniendiagramm ist die Datenbeschriftung aktiviert.

Ich möchte nun die Schriftfarbe der Datenbeschriftung in Rot umändern, wenn der Wert größer oder gleich 60 ist.

Im Format-Menü (Farbrolle) klicke ich im Abschnitt Datenbeschriftungen und dort im Unterabschnitt Werte auf die fx-Schaltfläche beim Befehl Farbe.

Das Format-Menü in Power BI, in welchem bestimmte Befehle mit roten Kreisen hervorgehoben sind.
Klicken Sie auf die fx-Schaltfläche beim Befehl "Farbe" im Abschnitt "Datenbeschriftung"

Dies öffnet das Menü der Bedingten Formatierung. Ich kann nun eine Regel eingeben (im Auswahlfeld Formatstil bitte noch von Farbverlauf auf Regeln umstellen), welche alle Zahlen, die größer oder gleich 60 sind, mit einer roten Schriftfarbe versieht.

Bedingte Formatierung in Power BI mit einer aktivierten Regel.
Stellen Sie die Regel so ein wie gewünscht.

Das Liniendiagramm sieht nun so aus:

Blaue Linie in einem Liniendiagramm in Power BI. Einige Datenbeschriftungen sind rot, andere schwarz.
Im Liniendiagramm sind nun alle Werte größer oder gleich 60 rot.

Sie können bei allen Befehlen, bei denen es die fx-Schaltfläche gibt, die Bedingte Formatierung aktivieren.

Für die Schriftgröße gibt es leider keine Bedingte Formatierung. Aber vielleicht hilft Ihnen der Trick über die Schriftfarbe schon weiter.


Fragen aus dem Dezember 2022

Frage zu Power BI: Measure/Calculate in Abhängigkeit von der Belegung eines Auswahlfeldes

Frage vom 28.12.2022

Hallo Herr Trummel,

ich illustriere meine Frage mal an einem Beispiel:

- Tabelle 1 und Tabelle 2 sind vom Aufbau identisch, haben nur verschiedene Quellen (konkret hier: 2 verschiedene Portfolioreports). Beide beinhalten zB die Kenngrösse A in einer Spalte

- Measure 1 liefert mir via CALCULATE die Grösse A aus Tabelle 1 mit entsprechenden Filterkriterien

- Measure 2 liefert mir via CALCULATE die Grösse A aus Tabelle 2 mit den gleichen Filterkriterien

- Für Measure 1 und Measure 2 habe ich jeweils eine identische Visualisierung 1 und 2 erstellt

- soweit so klar

Nun würde ich aber gern noch EINE Visualisierung haben, bei welcher ich zwischen der Anzeige von Measure 1 und Measure 2 einfach umschalten kann über ein Auswahlfeld oä. Ich bräuchte also ein neues „Measure NEU“, welches Measure 1 liefert bei Auswahl 1 und Measure 2 liefert bei Auswahl 2… und eben die Möglichkeit der Auswahl zwischen 1 und 2 über welches Objekt auch immer…?

Wie kann ich das bewerkstelligen? Welches Objekt muss ich für die Auswahl erzeugen (bitte mehr als 2 Optionen, das Beispiel war nur vereinfacht). Und wie kann ich dann via Calculate im „Measure NEU“ auf dieses Objekt zugreifen und dann bedingt auf dessen Belegung rechnen?

Ich hoffe die Frage ist verständlich erklärt!?

Ergänzung vom 29.12.2022

Hallo nochmal Herr Trummel,

zur u.g. Frage noch eine Ergänzung bzw. Verallgemeinerung der gesuchten Lösung: In der neuen gesuchten EINEN Visualisierung sollte idealerweise nicht nur entweder Measure 1 oder Measure 2 oder Measure 3… angezeigt werden können, sondern bei erlaubter Mehrfachauswahl im Auswahl-/Filterobjekt dann eben auch die Summe der entsprechend ausgewählten „Measures“…

Also allgemein:

Gegeben:

  • Tabellen 1, 2, …, X für Daten aus Portfolien 1, 2, …, X (Diese Tabellen sind von Aufbau und Struktur identisch)
  • Measures 1, 2, …, X welche aus den Tabellen 1, 2, …, X die jeweils gleiche Kenngröße A liefert (unter Verwendung gewisser Bedingungen mittels CALCULATE)
  • Visualisierungen 1, 2, …, X für die Measures 1, 2, …, X

Gesucht:

  • Eine neue Visualisierung
  • In dieser soll der Nutzer die Portfolien 1, 2, …, X auswählen können (Mehrfachauswahl möglich)
  • Die Visualiserung zeigt dann die Summe der Measures 1, 2, …, X entsprechend der getroffenen Auswahl

Ich habe schon überlegt, ob ich eine neue Tabelle „Portfolioliste“ kreiere, in welcher die Portfolien 1, 2, …, X aufgelistet sind. Diese könnte ich mit einer ID versehen mittels derer ich die Datenverknüpfung zu den Tabellen 1, 2, …, X herstellen könnte, wenn ich dort eben auch die IDs mitführe. Die Portfolioliste könnte dann noch eine Spalte (Status“ erhalten, in welcher eben der Status aktiv/inaktiv gesetzt ist. Dann könnte ich darauf ja das neue bedingte „Summen-Measure“ verformeln. Die Frage bleibt allerdings, wie gelingt es mir den „Status“ dann dynamisch vom Nutzer setzen zu lassen… ?

Antwort

Wenn die Tabellen alle gleich aufgebaut sind, dann sollten Sie diese zu einer einzigen Tabelle zusammenfassen. Dazu können Sie zum Beispiel die Ordnerabfrage benutzen, die wir auch im Seminar besprochen haben.

Die Ordnerabfrage generiert eine Spalte mit dem Namen Source.Name, welche den ursprünglichen Namen der Datei beinhaltet. So lassen sich die Daten auch im Nachhinein der ursprünglichen Datenquelle zuordnen.

Eine Spalte mit dem Namen "Source.Name" in Power BI ist markiert.
Spalte "Source.Name" der Ordnerabfrage

Anschließend brauchen Sie nur noch ein einziges Measure, um die Spalte mit den Kenngrößen zu summieren.

Der Benutzer kann dann über einen Datenschnitt (Mehrfachauswahl möglich) die gewünschten Daten auswählen. Im Datenschnitt könnten Sie zum Beispiel die Spalte Source.Name verwenden.

Den Status können Sie beispielsweise über eine berechnete Spalte erzeugen. Der Anwender kann dann ebenfalls über einen Datenschnitt den Status wählen.

Und noch zu Ihrer 1. Frage, wie Sie über ein Auswahlfeld zwischen verschiedenen Measures wechseln können: Dazu finden Sie in Ihrem Buch auf den Seiten 659 ff. entsprechende Anleitung. Der Autor zeigt dort, wie Sie mit einer verbindungslosen Tabelle und einem Parameter die Datenauswahl flexibler gestalten können. Dieser Lösungsweg ist aber, wenn Sie die oben beschriebene Ordnerabfrage verwenden, nicht mehr notwendig.


Fragen aus dem September 2022

Frage zu Power BI

Frage vom 21.09.2022

Hallo Herr Trummel,

ich habe eine Frage zu Power BI, vielleicht können Sie mir dabei helfen. Ich habe eine kurze Beispieltabelle erstellt, mit ausgedachten Daten.

Beispieltabelle mit den Spalten „User“, „System“ und „Antragsdatum“.
Die Beispieltabelle.

Ich möchte jetzt eine KPI ausrechnen, also eine Zahl, welche ich z.B. in einem Tachometer darstellen möchte.

Die Frage ist: Wie viele User haben für dasselbe System pro Monat mehr als einen Antrag gestellt?

In diesem Beispiel wäre die Antwort

User 1, User 2, User 5, User 6, User 7 => Also 5.

Antwort

Wenn die Frage lautet: Wie viele User haben für dasselbe System in einem Monat mehr als einen Antrag gestellt, dann kann ich Ihre oben genannte Antwort nicht ganz nachvollziehen.

Lassen Sie mich daher erklären, wie ich die Aufgabenstellung verstanden habe:

Zunächst einmal vermute ich, dass ein Antrag gleichbedeutend mit einer Zeile in der Tabelle ist.

Wenn ich in einer Matrix die Anzahl der Zeilen in der Tabelle bestimme, eine Zeilenbeschriftung nach User und eine Spaltenbeschriftung nach System einfüge und in einem Datenschnitt auf den Monat Januar filtere, dann komme ich auf folgendes Ergebnis:

In einem Datenschnitte ist der Monat Januar gewählt. In der Matrix sind einige Zellen rot umkreist.
Die Matrix zeigt die Anzahl Zeilen, aufgeschlüsselt nach User und System, gefiltert auf Januar.

Die Antwort müsste meiner Ansicht nach lauten:

Im Januar haben folgende User mehr als einen Antrag für das System A1 bearbeitet:

User 1, User 3 und User 5.

Für System B1 waren es:

User 2, User 4 und User 6.

Insgesamt komme ich also auf 6 User, die im Januar für dasselbe System mehr als einen Antrag bearbeitet haben.

Bitte korrigieren Sie mich, wenn ich die Aufgabenstellung falsch verstanden habe. Ich möchte dennoch meinen Gedankengang fortsetzen und zeigen, wie ich rechnerisch auf diese 6 User komme.

Mit diesem Measure errechne ich das genannte Ergebnis:

Anzahl User = 
COUNTX(
    FILTER(
        ADDCOLUMNS(
            SUMMARIZE(
                Beispieltabelle, 
                Beispieltabelle[User], 
                Beispieltabelle[System]
            ), 
            "Ergebnis", 
            CALCULATE(
                COUNTROWS(Beispieltabelle)
            )
        ),
        [Ergebnis] > 1
    ),
    [Ergebnis]
)

Hier eine kurze Beschreibung dieser Kennzahl:

Mit ADDCOLUMNS und SUMMARIZE erzeuge ich eine Zusammenfassungstabelle, die gruppiert ist nach User und System. Sie enthält eine Ergebnisspalte mit der Anzahl der Zeilen pro Gruppe.

Diese Tabelle sieht folgendermaßen aus:

Power BI-Tabelle mit den Spalten „User“, „System“ und „Ergebnis“.
Die Tabelle enthält Zeilen gruppiert nach User und System sowie die Anzahl der Zeilen.

Mit FILTER reduziere ich die Tabelle auf alle Zeilen, bei denen in der Spalte Ergebnis ein Wert steht, der größer ist als 1. Die Tabelle sieht nun folgendermaßen aus:

Gefilterte Power BI-Tabelle mit den Spalten „User“, „System“ und „Ergebnis“.
Die Tabelle ist gefiltert auf alle Zeilen, bei denen das Ergebnis größer als 2 ist.

Mit COUNTX zähle ich die Zeilen dieser Tabelle. Ich komme also auf 6.

Den Filterkontext für den Monat erzeuge ich mit dem oben gezeigten Datenschnitte. Für Februar kommen keine Ergebnisse heraus.

Rückfrage vom 27.09.2022

Hallo Herr Trummel,

ich habe Ihnen eine Bewertung geschrieben, Ihr Service ist wirklich super. Ich habe noch eine weiterführende Frage zu meinem Beispiel, vielleicht können Sie mir das auch schnell beantworten.

Ich möchte das ganze jetzt in einem Graph darstellen (z.B. ein Säulendiagramm). Allerdings soll auf der x-Achse die Anzahl Anträge und auf der Y-Achse die Anzahl dieser dargestellt sein.

Bedeutet in meinem Beispiel wären es für den Monat Januar nur eine Säule nämlich bei der zwei und diese wäre 6 hoch. Gäbe es jetzt einen User der für dasselbe System drei Anträge gestellt hat (sprich drei Zeilen würden in der Ausgangstabelle dafür auftauchen) hätten wir eine Säule bei der 3 welche eins hoch wäre.

Können Sie mein Anliegen verstehen?

Antwort

Legen Sie über den Befehl Neue Tabelle eine berechnete Tabelle an.

Der Befehl „Neue Tabelle“ in Power BI Desktop ist rot umkreist.
Klicken Sie auf den Befehl „Neue Tabelle“.

Geben Sie folgenden Code ein:

Ergebnistabelle = 
FILTER(
    ADDCOLUMNS(
        SUMMARIZE(
            Beispieltabelle, 
            Beispieltabelle[Antragsdatum].[Jahr],
            Beispieltabelle[Antragsdatum].[Monat],
            Beispieltabelle[User], 
            Beispieltabelle[System]
        ), 
        "Ergebnis", 
        CALCULATE(
            COUNTROWS(Beispieltabelle)
        )
    ),
    [Ergebnis] >= 2
)

Power BI legt nun diese Tabelle an:

Tabelle mit mehreren Spalten in Power BI Desktop.
Der Code erzeugt diese Tabelle.

Verwenden Sie die Spalte Ergebnis auf der X-Achse und zählen Sie die Einträge in der Spalte System.

In einem Datenschnitt können Sie dann auf ein bestimmtes Jahr und einen bestimmten Monat filtern.

Säulendiagramm in Power BI Desktop mit einer einzigen Säule. Daneben steht ein Datenschnitte.
Das Säulendiagramm zeigt die Anzahl der Datensätze pro Ergebnis.

Fragen aus dem Juli 2022

Dim Date mit mehreren Datumspalten verknüpfen

Frage 12.07.2022

Guten Tag Herr Trummel

Mein Problem ist folgendes:

Ich habe eine Datumstabelle und mehrere Umsatztabellen. In diesen Umsatztabellen hab ich Erfassungsdatum des Lieferscheins / Dokumentdatum des Lieferscheins / Rüstdatum des Lieferscheins.

Die Datumstabelle wirkt sich auf alle Umsatztabellen aus. Wenn ich in diesem Beispiel einen Filter in einer Umsatztabelle setzte, wirkt sich dieser nicht auf die anderen Umsatztabellen aus.

Muss ich die Beziehungen anders einstellen?

Antwort

Aktuell sieht Ihr Datenmodell so aus:

Eine Datumstabelle die mit zwei Umsatztabellen verknüpft ist (Schema Power BI).
Aktuelles Datenmodell

Die Tabellen scheinen sehr ähnlich zu sein. Daher drängt sich mir die Frage auf, weshalb Sie diese Tabellen nicht zu einer einzigen Tabellen zusammenfügen können (z.B. mit Power Query >> Befehl Anfügen).

Hinweis: ggf. müssen Sie noch in Power Query die Spaltennamen der Tabellen angleichen.

2 Umsatztabellen, die untereinander stehen und mit einem Pfeil verbunden sind (Power BI)
Umsatztabelle 1 an Umsatztabelle 2 anfügen

Ihr Datenmodell hätte dann nur noch eine Umsatztabelle, wodurch auch die Auswertung sehr viel einfacher wäre:

Eine Datumstabelle ist mit einer Umsatztabelle verbunden (Power BI).
Datenmodell mit nur noch einer Datumstabelle

Rückfrage vom 14.07.2022

Guten Tag Herr Trummel

Herzlichen Dank schonmal für die Antwort.

Leider löst die nicht ganz mein Problem. Eine Umsatztabelle wäre mir sehr recht, jedoch hab ich mehrere verschiedene Datumsspalten.

Ich kann nun das Datum(Spalte MartDimDate) nur mit einer anderen Spalte verknüpfen z.B. Bestelldatum.

Wenn ich jetzt aber im Bericht das Datum nach Juli filtere, zeigt es mir nur, welche Dokumente im Juli bestellt sind.

Jedoch möchte ich auch sehen können, welche Kunden im Juli aktiviert wurden (Spalte Datum Kunde aktiviert)

Kann man also das Datum MartDimDate mit mehreren Datumspalten verknüpfen?

Falls nicht, muss ich die Umsatztabelle trennen, dann hab ich jedoch das Problem wie unten beschrieben, dass sich die Filter nicht auf jede Tabelle auswirken.

Antwort

Sie können mehrere Beziehungen zwischen zwei Tabellen erzeugen. Schauen Sie sich dieses Beispiel an:

2 Tabellen in Power BI, die über 2 Beziehungen miteinander verbunden sind.
Aktive Beziehung zwischen Datum und Verkaufsdatum

Die Tabellen sind über die Felder Datum und Verkaufsdatum verbunden. Dies ist die aktive Beziehung. Die Linie ist durchgezogen.

Außerdem gibt es eine Beziehung zwischen Datum und Lieferdatum. Diese ist eine inaktive Beziehung. Die Linie ist gestrichelt.

2 Tabellen in Power BI sind über 2 Beziehungen miteinander verbunden. Die inaktive Beziehung ist hervorgehoben
Die inaktive Beziehung zwischen Datum und Lieferdatum

Ich möchte die Umsatzerlöse (Summe der Spalte Gesamtpreis) berechnen. Dazu erstelle ich folgendes Measure:

Umsatzerlöse = SUM('Verkäufe'[Gesamtpreis])

Wenn ich die Umsatzerlöse dann im Bericht z.B. nach Jahren aufschlüssle, verwendet das Measure immer die aktive Beziehung zwischen Datum und Verkaufsdatum.

Um auch die inaktive Beziehung verwenden zu können (also die Umsatzerlöse nach Lieferdatum aufzuschlüsseln), schreibe ich ein weiteres Measure:

Umsatzerlöse (Lieferdatum) = 
CALCULATE(
    SUM('Verkäufe'[Gesamtpreis]),
    USERELATIONSHIP(
        'Dim Date'[Datum],
        'Verkäufe'[Lieferdatum]
    )
)

Mit der Funktion USERELATIONSHIP kann ich die inaktive Beziehung nutzen.


Filtern von Summen nach Datum

Frage vom 11.07.2022

Hallo Herr Trummel,

ich habe eine Tabelle mit Schichtzeiten von Mitarbeitern. In der Tabelle ist immer ein Tag pro Mitarbeiter Anwesenheit drin.

Wenn ich die Stunden summieren möchte pro Mitarbeiter benutze ich die SUM-Funktion:

Brutto Stunden = SUM(Zeitplandaten_Sharepoint[Stunden])

Filtere ich die Tabelle nach Monat, möchte ich im aktuellen Monat nur die Zeiten bis heute summieren und nicht den kompletten restlichen Monat dazu. Kann ich das in dem Measure mit einbauen?

Vielleicht haben sie da eine Idee.

Vielen Dank.

Antwort

Verwenden Sie diese Formel:

Gesamtstunden bis heute = 
CALCULATE(
    SUM(Zeitplandaten_Sharepoint[Stunden]), 
    Zeitplandaten_Sharepoint[Datum] <= TODAY()
)

Fragen aus dem April 2022

Frage zu Power BI

Frage vom 19.04.2022

Hallo Herr Trummel,

ich habe eine Frage bezüglich Power BI:

Ich habe eine Kennzahl, welche die IST Werte enthält, eine welche die PLAN Werte enthält und außerdem eine Hirarchie, sagen wir einfach mal mit Produkgruppen (z.B. Lebensmittel (Schokolade, Kaugummi, Kekse), Hygieneprodukte(Zahnpasta, Duschgel).

Ich möchte in einer Matrix die Hirarchie darstellen, welche sich ausklappen lässt und zu jedem Eintrag soll die prozentualle Abweichung eingetragen sein (IST/PLAN).

Eine berechnete Spalte hilft mir hier nicht weiter, da ich die Prozentwerte nicht einfach addieren kann.
Können Sie mir bei der Lösung meines Problems helfen?

Antwort

Gehen Sie von folgenden Daten aus:

NrProduktgruppe
1Lebensmittel
2Hygieneprodukte
Tabelle "Produktgruppen"
NrProduktProduktgruppen-Nr
1Schokolade1
2Kaugummi1
3Kekse1
4Zahnpasta2
5Duschgel2
Tabelle "Produkte"
ISTPLANProdukt-Nr
801001
1501002
901003
1001004
701005
Tabelle "Werte"

Ich habe folgende Measures erstellt:

Das Measure IST-Werte:

IST-Werte = SUM(Werte[IST])

Das Measure PLAN-Werte:

PLAN-Werte = SUM(Werte[PLAN])

Das Measure Abweichung, welches die Differenz aus IST-Werte minus PLAN-Werte ins Verhältnis zu den PLAN-Werten setzt:

Abweichung = 
DIVIDE(
    [IST-Werte] - [PLAN-Werte], 
    [PLAN-Werte]
)

In einer Matrix kann ich nun die Produktgruppen und Produkte als Zeilenbeschriftung (Produktgruppen sind dann aufklappbar) sowie die 3 Measures ausgeben:

Sie können diesen Power BI-Bericht live verwenden.

Hier können Sie die Power BI Desktop-Datei kostenfrei herunterladen:


Frage zu unserer Schulung

Frage vom 13.04.2022

Hallo Herr Trummel,

ich habe da eine Frage zu dem Kalender als Tabelle.

Ich habe mir auch wie in der Schulung einen Kalender gebaut. Leider kann ich damit nicht Filtern. Wenn ich Monat oder Jahr hinzu füge, passiert nichts.

Können sie mir da kurz helfen, wo ich den Fehler mache?

Wenn die die Spalten direkt in der Datentabelle anlege, geht es. Die Beziehung zwischen den Tabellen und die Tabelle als Datumstabelle deklariert habe ich gemacht.

Vielleicht haben sie kurz Zeit sich das anzuschauen.

Vielen Dank.

Antwort

Die Spalte hat das falsche Datenformat. Ändern Sie in den Datentyp in Power Query um in Datum.

Wichtig: Die Änderung muss in Power Query erfolgen. Eine Umstellung des Datentyps im Datenmodell von Power BI reicht nicht aus.

Geöffnete Liste mit Datentypen in Power Query
Stellen Sie "Datum" als Datentyp ein.

Fragen aus dem Februar 2022

DAX-Funktionen

Frage vom 16.02.2022

Hallo Herr Trummel ,

Ich bin es mal wieder… Vielen dank für die Hilfe zuvor, Sie machen es einem echt leicht, ein Verständnis für Power BI zu kreieren . Mir ist heute beim Fortbilden das DAX-Studio über den Weg gelaufen. Dort kam mir die Frage auf , ob es möglich sei bzw. wie es funktionieren könnte , dass ich zuerst eine Abfrage bezüglich einer Datei mache und anschließend von dieser Abfrage bzw. Datei eine andere abrufe. Zum Beispiel möchte ich eine Person mit einer bestimmten ID aufrufen und anhand dessen beispielsweise die letzte Aktion abrufen. Wie würde sowas ausschauen?

Antwort

Eine gute Anleitung zum Einstieg in die Arbeit mit dem DAX-Studio finden Sie hier:

https://daxstudio.org/tutorials/writing-dax-queries/

Wenn Sie von Abfragen auf Dateien sprechen, dann sind wir beim Thema Power Query. Eine Abfrage können Sie im Power Query-Editor kopieren und in der kopierten Abfrage dann entsprechend die Transformationsschritte anpassen (zum Beispiel im Schritt Quelle eine andere Datenquelle angeben).

Eine Anleitung, wie Sie Abfragen im Power Query-Editor ganz einfach kopieren können, finden Sie auf folgender Seite:

Teilen einer Abfrage

Wenn Sie dagegen in einem Measure (also mit DAX-Funktionen) auf bestimmte Teilmengen Ihrer Tabelle zugreifen möchten, dann empfehle ich Ihnen, dass Sie sich einmal mit der Funktion CALCULATE auseinandersetzen.


Fragen aus dem Oktober 2021

Frage zu Aging Report in Power BI

Frage vom 26.10.2021

Hallo Herr Trummel,

Ich habe im Juli und August an einer Power BI Anfängerschulung von Ihnen teilgenommen und Sie sagten am Ende, dass wir Sie weiter kontaktieren dürfen, wenn wir Fragen zu Power BI haben. Und weil ich bei einem speziellen Problem auch mit Google nicht weiterkomme, wollte ich dieses Angebot annehmen.

Zu meinem Problem:

Ich bin gerade dabei einen Ageing Report zu basteln und diesen möglichst vollständig zu automatisieren. Es wird automatisch jeden Monat eine neue Excel-Datei erstellt und in einem Ordner abgelegt. Ich greife mit Power BI auf diesen Ordner zu, füge alle Excel-Dateien aneinander und lasse mir das Erstellungsdatum der Excel-Dateien in einer Spalte ausweisen, um die Einträge nach Monaten aufteilen zu können. Diese Spalte heißt Stichtag.

Auf einer Berichtsseite möchte ich nun automatisiert eine Übersicht der Veränderungen des aktuellsten Monats zum Monat davor anzeigen lassen. Dafür brauche ich Formeln, die mir in der Stichtagsspalte nach dem letzten Datum und dem Vorletzten Datum filtert.

Zuerst zum Vergleich meine nicht automatisierte Formel:

Difference = CALCULATE(SUM('Open items'[Betr. in HW]),'Open items'[Stichtag] = DATE(2021,09,30)) - CALCULATE(SUM('Open items'[Betr. in HW]),'Open items'[Stichtag] = DATE(2021,08,31))

Das Measure Difference berechnet also zuerst die Summen meiner Rechnungsbeträge [Betr. In HW] in der Tabelle Open Items für die manuell eingegebenen Daten 30. September und 31. August und zieht diese voneinander ab.

Das funktioniert auch problemlos. Ich erhalte hier die richtigen Werte.

Nun zu meiner automatisierten Formel:

Da ich in der Calculate-Funktion nicht auf Measures verweisen darf, musste ich hier mit Variablen arbeiten, die auf zwei Measures verweisen.

DifferenceAuto =
VAR LastDatum = [LastDate]
VAR sndtolastdate = [2ndToLastDate]
RETURN
CALCULATE(SUM('Open items'[Betr. in HW]),'Open items'[Stichtag] = LastDatum) - CALCULATE(SUM('Open items'[Betr. in HW]),'Open items'[MonthStich] = sndtolastdate)

Das Measure LastDate:

LastDate = LASTDATE('Open items'[Stichtag])

Das Measure 2ndtolastDate:

2ndToLastDate = MONTH(LASTDATE('Open items'[Stichtag])) -1

DifferenceAuto berechnet also die Differenz genauso, wie die nicht automatisierte Formel. Die beiden Daten erhält das Measure einerseits aus LastDate, das mir einfach das letzte Datum aus der Spalte Stichtag zurückgibt. Und andererseits aus 2ndtolastDate, das vom letzten Datum aus der Spalte Stichtag nur den Monat betrachtet und davon nochmal einen Monat abzieht. Dieser wird dann mit einer neuen Spalte verglichen, die nur den Monat aus der Stichtags-Spalte enthält.

Das funktioniert prinzipiell auch, allerdings erhalte ich seltsame Fehler, die ich mir nicht erklären kann:

Die Summe der beiden Spalten stimmt überein und die einzelnen Positionen bei Difference stimmen auch. Die Summe bei DifferenceAuto dürfte aber überhaupt nicht stimmen und auch sonst sind die Positionen teilweise anders als bei Difference.

Und weil es nur teilweise nicht stimmt, verstehe ich auch überhaupt nicht wo das Problem ist.

Wenn man sich eine falsche Position genau ansieht, sieht man auch Folgendes:

Die beiden Daten Measures LastDate und 2ndtolastDate geben Werte zurück, die sie nach den Formeln überhaupt nicht annehmen dürften.

Ich kann Ihnen leider nicht einfach die Datei zusenden, da die Daten natürlich vertraulich sind.

Vielleicht können Sie mir ja weiterhelfen. Gerne können wir hierzu auch mal einen Skype-Termin vereinbaren, wenn Ihnen das lieber ist als so eine lange Email.

Abschließend möchte ich mich schon mal für jede Hilfe bedanken und auch nochmals Danke sagen für das Training. Bis zu dieser Stelle konnte ich den Report nämlich ohne größere Probleme bauen, was mich und meinen Chef sehr gefreut hat.

Antwort

Um diese Aufgabe zu lösen, brauchen Sie:

  1. Einen Abfragekontext, der den Bericht auf einen bestimmten Zeitraum filtert
  2. Eine Datumstabelle, die den relevanten Zeitraum lückenlos abbildet
  3. Zeitintelligenzfunktionen, um die Beträge vergangener Perioden zu ermitteln

Gehen Sie einmal von folgenden Beispieldaten aus:

Eine Power BI-Tabelle mit den Spalten Stichtag, Kundennummer und Betrag.
Die Tabelle Open items

Die Excel-Datei können Sie hier herunterladen:

Einen Ausschnitt der Datumstabelle sehen Sie hier:

Eine Power BI-Datumstabelle mit den Spalten Datum, Jahr, Monatsnummer und Monat.
Die Tabelle Kalender

Mehr zu Datumstabellen lesen Sie in diesem Artikel von Microsoft:

https://docs.microsoft.com/de-de/power-bi/guidance/model-date-tables

Verbinden Sie die Tabelle Open items mit der Kalendertabelle, indem Sie den Stichtag auf die Datumsspalte der Kalendertabelle ziehen.

Das Datenmodell von Power BI zeigt zwei Tabellen, die über eine Linie miteinander verbunden sind.
Verbinden Sie Open items und Kalender miteinander

Jetzt legen Sie danach folgende Measures an:

Betrag = SUM('Open items'[Betr. in HW])

Betrag Vormonat = CALCULATE([Betrag],PREVIOUSMONTH(Kalender[Datum]))

Differenz Betrag = [Betrag] - [Betrag Vormonat]

Damit die Berechnungen die korrekten Ergebnisse liefern, müssen Sie den Bericht auf einen bestimmten Monat filtern. Dazu eignet sich zum Beispiel ein Datenschnitt, in welchem Sie das Feld Monat aus der Kalendertabelle benutzen.

Nun noch eine kurze Erklärung der Measures:

Das Measure Betrag summiert die Spalte Betr. in HW.

Das Measure Betrag Vormonat liefert alle Beträge des Vormonats (immer bezogen auf den für den Bericht gefilterten Zeitraum).

Das Measure Differenz Betrag subtrahiert den Betrag des Vormonats vom Betrag des gewählten Monats.

Kennen Sie schon die Kompetenzgruppen? Hier erarbeiten wir uns im kleinen Kreis Lösungen für aktuelle Herausforderungen mit Power BI!

Testen Sie selbst den fertigen Bericht:


Sequenzielle Darstellung von Projektphasen (sozusagen als liegende gestapelte Balken) in xViz

Frage vom 05.10.2021

Guten Tag Herr Trummel,

eben bin ich auf Ihre sehr interessante Seite aufmerksam geworden. Aktuell bin ich auf der Suche nach einer geeigneten Möglichkeit mehrere Projektphasen in einem Gantt Visual darzustellen ähnlich wie hier dargestellt:

Ein GANTT-Diagramm in Power BI mit mehreren Aufgaben.

Lingaro kann das, gefällt mir aber nicht besonders. xViz wäre bevorzugt, hierzu habe ich bislang aber unterschiedliche Infos gefunden. So heißt es in der Beschreibung zum obigen Bild ( https://community.powerbi.com/t5/Custom-Visuals-Ideas/Gantt-Chart-Collapsed-with-Milestones/idi-p/342907/page/3#comments) auf Seite 3:
„Although xViz looks nice and does have wonderful functionality, it does not present the same capability as what the original post is requesting."


Antwort

Mit dem GANTT-Visual von xViz habe ich bislang noch nicht gearbeitet. Vielleicht reicht Ihnen ja aber auch das Gantt-Visual von Microsoft, welches ich mir im Folgenden einmal für Sie angeschaut habe.

Sie können Aufgaben und Meilensteine sowie einen Aufgabenstatus (z. B. „offen“ oder „erledigt“) hinterlegen. Zu jeder Aufgabe können Sie eine Ressource (erscheint als Text neben dem Balken) hinzufügen, außerdem zu wie viel Prozent Sie die Aufgabe schon erledigt haben (nicht erledigter Teil wird transparenter dargestellt).

Die Einteilung der Aufgaben Meilensteine erfolgt über die Achse (links).

Hier ein Bericht mit dem Gantt-Visual. Die Tabelle mit den dazugehörigen Daten sehen Sie direkt darunter:

Ein GANTT-Diagramm in Power BI mit 3 Aufgaben. Darunter steht eine Tabelle mit Daten.
Gannt-Visualisierung von Microsoft

Mehr Infos zum GANTT-Visual von xViz inkl. einem Video und einer Gegenüberstellung, was dieses mehr kann als das Microsoft Gantt-Visual, finden Sie hier auf der Herstellerseite.


Umsatzfenster

Frage vom 05.10.2021

Guten Tag Herr Trummel,

ich habe hier ganz viele Kunden mit Umsätzen.

Ich würde gerne die Kunden in ein Umsatz Fenster einordnen, z.b

Umsätze über 500.000/499.99 - 400.000/399.99 - 300.000 usw

Wie kann ich das machen?

Die Kunden über Filter heraus zu suchen finde ich mühselig, da ich ja immer wieder die Filtergröße neu eingeben müsste.

Können Sie mir da weiterhelfen?

Antwort

Gehen wir einmal beispielhaft von folgenden Kunden und Umsätzen aus:

KundeUmsatz
A92.100
B116.400
C69.700
D402.200
E581.200
F129.000
G194.300
H30.800
I416.800
J473.100
Tabelle Kundenliste

In dieser Tabelle habe ich eine berechnete Spalte hinzugefügt, welche für jeden Kunden ein Umsatzfenster generiert:

Umsatzfenster = 
SWITCH( 
   TRUE(), 
   Kundenliste[Umsatz]>=500000,">=500.000", 
   Kundenliste[Umsatz]>=400000,"< 500.000 und >= 400.000", 
   Kundenliste[Umsatz]>=300000,"< 400.000 und >= 300.000", 
   Kundenliste[Umsatz]>=200000,"< 300.000 und >= 200.000", 
   Kundenliste[Umsatz]>=100000,"< 200.000 und >= 100.000", 
   "< 100.000 und >= 0"
)

Die Funktion SWITCH ist mit einem mehrfach verschachtelten IF vergleichbar, aber wesentlich einfacher zu schreiben.

Das Feld Umsatzfenster kann ich dann in einem Datenschnitt verwenden, um die Kundenliste ganz einfach auf bestimmte Kunden zu filtern.

Tipp: Sortieren Sie die Daten im Datenschnitt in alphabetisch absteigender Reihenfolge, damit das höchste Umsatzfenster ganz oben steht.

Hier ist der fertige Bericht:


Fragen aus dem August 2021

Frage vom 06.08.2021

Hallo Herr Trummel,

ich bin Werkstudentin und bin übers Internet auf Ihre Seite gestoßen. Ich habe folgende Frage:

Ich bekomme jeden Monat eine Excel-Datei zugeschickt, in der Daten zu einem bestimmten Monat enthalten sind. Die Excel-Dateien enthalten die gleichen Daten, aber die Zahlen für den jeweiligen Monat ändern sich. In Power BI habe ich bereits eine Tabelle mit den Daten vom Juni. Jetzt würde ich gerne die Tabelle mit den Daten vom Juli erweitern. Sprich ich würde gerne wissen wie ich die Tabelle in Power BI mit den Zahlen einer anderen Excel-Datei (die aber dieselben Spalten hat) erweitern kann. Ich hoffe meine Frage war verständlich.

Ich danke Ihnen im Voraus.

Antwort

Diese Aufgabe können Sie in Power BI mit einer Abfrage auf einen Ordner lösen.

In meinem Blog-Beitrag erkläre ich Schritt für Schritt, wie Sie eine solche Abfrage ganz einfach erstellen:


Fragen aus dem Juli 2021

Visualisierungen mit Messachsen

Frage vom 29.07.2021

Hallo Herr Trummel,

vielen dank für die wirklich sehr gute Antwort zu meinem gestrigen Thema.
Ich habe folgendes Ergebnis:

Mein Fragebogen hat verschiedene Kategorien aus denen ich die Antwort Punktzahl jeweils zusammen gerechnet habe.
Diese Kategorien habe ich ebenfalls zu einer Gesamtpunktzahl zusammen gerechnet.
Nun möchte ich gern diese Ergebnisse Grafisch darstellen, am liebsten auf die Weise wie es in docs.microsoft.com zu finden ist.

Der Link ist: Leitfaden - Bewertungen | Microsoft Docs

Hier ein Screenshot:

Zwei Visualisierungen mit unterschiedlich farbigen Messachsen
Visualisierungen von Microsoft


Dies sind 2 Visualisierungen und ich benötige beide oder ähnliche. Leider finde ich keine passenden.
Gibt es derartige Visualisierungen oder müsste ich mich mit dem Thema Visualisierungen selbst erstellen befassen?

Antwort

Exakt solche Visualisierungen kann ich leider nicht finden. Ich habe jedoch in der App Source Visualisierungen entdeckt, die der Aufgabenstellung nahekommen.

LinearGauge - xViz

Die erste Visualisierung ist das LinearGauge der Firma xViz. Es erzeugt eine einzige Messachse, die Sie in drei unterschiedliche Kategorien einteilen können (Bedingte Formatierung). Außerdem kann der aktuelle Wert mithilfe einer Linie visualisiert werden.

Mehr Infos zu dieser Visualisierung und ein fertiges Beispiel zum Herunterladen finden Sie auf der Seite des Herstellers: https://xviz.com/visuals/linear-gauge/?utm_source=xviz_landing&utm_medium=powerbi_productuser

Multiple Sparklines

Um mehrere Messachsen (zum Beispiel für jede Person) zu erzeugen, können Sie die Visualisierung Multiple Sparklines des Entwicklers Zubair nutzen. Verwenden Sie dort im Bereich Bullet / Bar Chart eine Spalte in der Form Zielwert | AktuellerWert (s. Blatt Die Daten).

Hier kann jedoch nur eine Frage pro Person ausgewertet werden.

Mehr Infos zu dieser Visualisierung und ein Beispiel zum Herunterladen finden Sie auf der Seite von Zubair unter https://www.excelnaccess.com/sparklines/.

Und hier meine Demodatei zum Ausprobieren.

PS: Die Visualisierungen sind kostenpflichtig, deshalb können Sie sie in meinem Demobericht nur eingeschränkt nutzen.


Zahlen aus Spalten verrechnen

Frage vom 28.07.2021

Hallo Herr Trummel,

gern möchte ich Ihren kostenlosen Service nutzen und Ihnen eine Frage stellen.

Wir haben Umfragewerte aus MSForms.
Die Fragen bilden je eine Spalte für sich und haben je einen Wert zwischen 0 – 10.
Nun möchte ich gern bestimmte Spalten miteinander Summieren um einen Gesamtwert zu erhalten.

An dieser Stelle komme ich mit SUM nach meinem Wissen nach nicht weiter, ebenso mit SUMX.
Ich hoffe sehr, dass Sie eine Antwort parat haben und mir aus meiner Misere heraus helfen können.

Antwort

Diese Aufgabe lässt sich mit dem Entpivotieren von Power Query lösen.

Gehen wir einmal von folgendem Beispiel aus:

PersonFrage 1Frage 2Frage 3
A10310
B925
C9104
D0101
E534
Die Beispieltabelle hat für jede Frage eine Spalte.

Laden Sie die Daten in den Power Query-Editor. Markieren Sie die drei Spalten Frage 1, Frage 2 und Frage 3.

In Power Query markieren Sie die 3 Frage-Spalten

Wählen Sie dann auf dem Reiter Transformieren den Befehl Spalten entpivotieren.

Menüband von Power Query, Befehl "Spalten entpivotieren" ist rot und umrandet
Klicken Sie auf Spalten entpivotieren

Power Query löst die drei Spalten nun in zwei Spalten mit Attribut-Wert-Paaren auf. Diese können Sie natürlich noch umbenennen und anschließend ins Datenmodell laden.

Die Tabelle in Power Query mit den Spalten "Attribut" und "Wert"
Die drei Spalten sind nun entpivotiert.

Jetzt können Sie die Wert-Spalte einfach summieren und je Person bzw. Frage auswerten.


Zeiten in Schichten einteilen

Frage vom 26.07.2021

Hallo Jan,

ich bin übers Internet zu deiner Seite gekommen und ich hoffe du kannst mir helfen.

Meine Frage:

Ich habe eine große Excel Datei, die ich im Power BI nach gewissen Prozessen und Bereich auswerten will.

Dabei muss ich aber auch noch nach der Zeit/Schichten auswerten.

Kann ich irgendwo mir Zeitfilter setzen wie zB. Von 06:00-14:29; 14:30-22:59; 23:00-05:59 ?

Vielen lieben Dank für deine Hilfe

Antwort

Gehen wir einmal von folgendem Beispiel aus:

ArbeiterBeginn
A09:00
B09:00
C16:30
D16:30
E23:00
Die Beispieltabelle Zeiten

Wir wollen herausfinden, welche Arbeiter in welcher Schicht waren.

Dazu habe ich mir in Excel eine minutengenaue Tabelle mit Uhrzeiten von 00:00 – 23:59 Uhr angelegt. Jeder Uhrzeit habe ich die entsprechende Schicht zugeordnet:

Tabelle mit den Spalten "Zeit" und "Schicht"
Die Zeitdimension

Anschließend habe ich die Tabelle ins Datenmodell geladen und dort beide Tabellen miteinander verbunden:

2 in Power BI verbundene Tabellen
Verbinden Sie beide Tabellen miteinander

Jetzt kann ich das Feld Schicht aus der Zeitdimension als Filter benutzen. Probieren Sie es aus:

PS: Die Zeitdimension habe ich nur der Vollständigkeit halber mit in den Bericht aufgenommen. Sie mussten Produktivbericht natürlich nicht gezeigt werden.


Frage zu PowerBI Desktop

Frage vom 26.07.2021

Guten Tag Herr Trummel,

Meine Frage:

Ich habe 4 Exceltabellen mit Umsatzdaten aus 4 verschiedenen Jahren und möchte diese in einer Grafik visualisieren. Die Grafik soll primär die Umsätze der verschiedenen Jahre mit den Monaten als "x-Achse" zeigen.

Dazu habe ich versucht, Beziehungen zwischen den Exceltabellen über die Spalte "Bestelldatum" herzustellen, die in jeder Tabelle vorhanden ist (z.B. 01.01.2019). Alle "Bestelldatum"-Spalten sind vom Typ "Datum".

Ich gehe davon aus, dass es notwendig ist, ein extra Excelblatt zu verwenden, um die Excel-Blätter über das Datum zu verknüpfen? Wenn das richtig ist, wie muss dieses aussehen?

Im nächsten Schritt möchte ich auch die Summe der Umsätze, die bis zu jedem Monat im Jahr aufgelaufen sind, in der gleichen Grafik darstellen (falls diese Information für die Beziehungsaufgabe notwendig ist).

Vielen Dank im Voraus.

Antwort

Ich gehe davon aus, dass die vier Excel-Tabellen gleich aufgebaut sind.

In diesem Fall müssen Sie die vier Tabellen zu einer großen Tabelle zusammenfassen. Sie können die vier Tabellen mit Power Query einlesen und dann über den Befehl Abfragen anfügen zu einer großen Abfrage vereinigen.

Hier lesen Sie mehr zum Thema Abfragen anfügen.

Schauen Sie sich bei der Gelegenheit auch einmal die Abfrage auf einen Ordner an. Damit können Sie solche Aufgaben automatisieren.

Hier lesen Sie mehr zu Abfragen auf Ordner.

Nehmen Sie dann das Feld Jahr aus der integrierten Datumshierarchie des Feldes Bestelldatum, um den Umsatz für alle Jahre in einer Visualisierung anzuzeigen.

Für umfassende Datumsberechnungen empfehle ich jedoch die Arbeit mit einer Datumstabelle.


Fragen aus dem Mai 2021

Prozentuale Abweichungsberechnung

Frage vom 27.5.2021

Ich habe bei Power BI eine Übersichtsseite für die KPIs ganz nach vorne gesetzt. Hier ist es so, dass jeweils von dem aktuellen Monat z.B. die Nachbearbeitungszeit im Team „IT Ops“ dargestellt wird. Ich würde jetzt gerne auch noch die prozentuale Abweichung zu dem jeweiligen Vormonat in einer %-Zahl darstellen. Unter dem eigentlichen KPI Wert zum Beispiel. Allerdings komme ich nicht darauf, wie ich das darstellen kann. Kennen Sie hier eine Lösung?

Antwort

Um diese Aufgabe zu lösen, benötigen Sie eine Kalendertabelle, sowie die Funktionen CALCULATE und PREVIOUSMONTH. Wenn die Nachbearbeitungszeiten in Summe über 24 Stunden hinausgehen, müssen Sie für die korrekte Darstellung ein eigenes Measure schreiben.

Wie dies gelingen kann, habe ich beispielhaft in folgendem Beitrag skizziert:

Lesen Sie hier, wie Sie Berechnungen mit Zeit-Werten durchführen können

Fragen aus dem April 2021

Spezielle Sortierung einstellen

Frage vom 08.04.2021

Hallo Herr Trummel,

wenn ich eine Auswertung in Power BI fahre, wie kann ich das Ergebnis nach meinem Wunsch anzeigen lassen.

Es geht z.B. um folgende Tabelle:

EffortMärzAprilGesamt
Low101323
High251540
Medium251237

Ich würde gerne zuerst Low, dann Medium und dann High anzeigen lassen.

Gibt es hierzu eine Sortiermöglichkeit? Alphabetisch geht es ja nicht und leider auch nicht anhand der Anzahl, da sich diese jeden Monat ändern kann. 

Antwort

Sie benötigen eine Zahlenspalte, um die Sortierung von Effort an diese zu binden. Da ich nicht weiß, woher Ihre Daten kommen und wie sie im Detail aussehen, gehe ich wie folgt vor:

Hilfstabelle für die Sortierung erzeugen

Erzeugen Sie in Power BI Desktop eine neue Tabelle. Klicken Sie dazu auf der Registerkarte Start auf die Schaltfläche Daten eingeben. Tragen Sie folgende Werte in die Tabelle ein und klicken Sie anschließend auf Laden.

Das Eingabefenster für den Befehl "Daten eingeben" in Power BI
Erzeugen Sie diese Hilfstabelle

Beziehung zwischen den Tabellen erzeugen

Wechseln Sie nun in den Bereich Modell und erzeugen Sie eine Beziehung zwischen Ihrer Tabelle und der neu geschaffenen Tabelle Effort Sortierung. Ziehen Sie dazu das Feld Effort aus Ihrer Tabelle auf das Feld Sort-Bezeichnung in der Hilfstabelle.

Die beiden Tabelle sind über eine 1-zu-N-Beziehung miteinander verbunden (Modell von Power BI)
Verbinden Sie beide Tabellen miteinander

Sortierspalte mit DAX-Formel einbinden

Nun wechseln Sie in den Bereich Daten. Wählen Sie Ihre Tabelle aus und erzeugen Sie eine neue Spalte. Geben Sie folgende Formel ein:

Nr = RELATED('Effort Sortierung'[Sort-Nr])

Die Anweisung ordnet jeder Zeile die richtige Nummer zu.

Effort nach Spalte Sort-Nr sortieren

Wählen Sie nun die Spalte Effort aus, klicken Sie auf die Registerkarte Spaltentools und dort auf die Schaltfläche Nach Spalte sortieren. Wählen Sie aus der Liste das Feld Nr aus.

Der Befehl „Nach Spalte sortieren" zeigt eine geöffnete Liste. Dort ist das Feld "Nr" gewählt.
Binden Sie die Sortierung von Effort an Nr.

Nun werden die Daten aus Effort so sortiert, wie die Zahlen in der Spalte Nr.

Die Matrix zeigt die korrekte Sortierung
Effort wird nun wie gewünscht sortiert

Tipp: Die Hilfstabelle können Sie jetzt über das Kontextmenü ausblenden, damit sie in der Felder-Liste nicht mehr angezeigt wird.


Dezimalzahlen in Uhrzeiten umwandeln (auch über 24 Stunden)

Frage vom 06.04.2021

Guten Morgen Herr Trummel,

ich hoffe Sie hatten schöne Osterfeiertage.

Vielen Dank für ihre Antwort. Es funktioniert auch soweit, allerdings habe ich einige Zeiten, die über 24 Stunden hinausgehen. Dort zeigt mir Power Query beim transformieren „Error“ an.

Gibt es hierfür auch noch eine Möglichkeit?

Diese Frage bezieht sich auf die Antwort der Frage vom 31.03.2021 (Dezimalzahlen in Uhrzeiten umwandeln).

Antwort

Laden Sie die Daten - ohne vorherige Bearbeitung durch Power Query - ins Datenmodell.

Eine Spalte mit Dezimalzahlen in einer Tabelle in Power BI.
Die Dezimalzahlen

Erzeugen Sie eine neue Spalte und geben Sie folgende Formel ein:

Uhrzeit = 
IF(Tabelle1[Zeiten]>=1440,
    QUOTIENT(Tabelle1[Zeiten], 60) 
        & 
    FORMAT(
        MOD(Tabelle1[Zeiten], 60) / 24,
        ":nn:ss"
    ),
    FORMAT(
        Tabelle1[Zeiten]/1440,
        "hh:nn:ss"
    )
)

Die Idee ist, die Dezimalzahlen geschickt umzurechnen und dann in Uhrzeiten umzuwandeln. Beachten Sie jedoch bitte, dass Sie im Ergebnis einen Text erhalten werden. Nun zur Erklärung der Formel:

Mithilfe der IF-Funktion prüfen Sie, ob die Dezimalzahl größer oder gleich 1440 ist.

Ist dies der Fall, folgen zwei Berechnungen:

Zunächst einmal berechnen Sie die Stunden. Dazu führen sie mit der Funktion QUOTIENT eine Division durch 60 ohne Rest durch. Das Ergebnis ist die Stundenangabe. Es folgt der Verkettungsoperator &.

Jetzt berechnen Sie die Minuten und Sekunden. Dazu verwenden Sie den Rest der Division durch 60. Nutzen Sie hierfür die Funktion MOD. Diesen Rest müssten Sie theoretisch wieder mit 60 multiplizieren, um eine vollwertige Stundenangabe zu erhalten, und das Ergebnis anschließend durch 1440 teilen. Die Multiplikation im Zähler kürzt sich jedoch weg und im Nenner bleibt 24 stehen. Das Ergebnis dieser Berechnung wandeln Sie dann in eine Zeichenkette um, die Minuten und Sekunden darstellt. Hierzu nutzen Sie die Funktion FORMAT. Beachten Sie, dass die Funktion als Angabe für Minuten tatsächlich das "n" erwartet!

Wenn die IF-Funktion ermittelt, dass die Dezimalzahl kleiner als 1440 ist, ist die Berechnung dagegen wesentlich einfacher. Teilen Sie die Dezimalzahl durch 1440 und wandeln Sie das Ergebnis mithilfe der Funktion FORMAT in eine Uhrzeit um.

In einer zweiten Spalte dieser Power BI-Tabelle sind die in Uhrzeiten umgerechneten Dezimalzahlen zu sehen.
Das Ergebnis der Formel ist ein Text.

Fragen aus dem März 2021

Dezimalzahlen in Uhrzeiten umwandeln

Frage vom 31.03.2021

Hallo Herr Trummel,

ich bin gerade dabei meine KPI-Auswertungen weiter zu bauen. Allerdings sitze ich jetzt schon eine ganze Weile daran, herauszufinden wie ich Uhrzeiten, die ich als Dezimalwerte (z.B. 5,8 Minuten) vorliegen habe, in ein Uhrzeitformat umwandeln kann. In Excel ist das mit dem Format „Uhrzeit“ ja recht einfach, aber für Power Bi finde ich einfach keine passende Formel oder Funktion.

Können Sie mir hier weiterhelfen?

Antwort

Gehen wir beispielhaft von folgenden Dezimalzahlen aus, die allesamt Minuten darstellen sollen:

Zeiten
5,8
0,6
7,2
0,5
0,1

Vorüberlegungen

Bei der Beantwortung dieser Frage hilft uns ein bisschen Mathematik:

Halten wir uns vor Augen, dass sowohl in Excel als auch in Power BI die Zahl 1 für einen Tag steht. Darüber hinaus wissen wir, dass ein Tag aus 24 Stunden (also aus 24 Einheiten) besteht. Ein Tag entspricht also rechnerisch dem Bruch 24 Vierundzwanzigstel (24/24). Eine Stunde können wir daher als ein Vierundzwanzigstel (1/24) darstellen.

Die nächstkleinere Einheit ist die Minute. Eine Stunde umfasst 60 Minuten. Somit können wir den Nenner des oben genannten Bruchs erweitern, indem wir 24 × 60 = 1440 rechnen. Eine Minute können wir also darstellen als 1/1440.

Dezimalzahlen in Power Query umrechnen

Laden Sie die Daten der Beispieltabelle jetzt in Power Query. Nun teilen Sie alle Werte der Spalte durch 1440. Wählen Sie dazu auf der Registerkarte Transformieren in der Befehlsgruppe Zahlenspalte die Schaltfläche Standard. Klicken Sie dann auf den Befehl Dividieren.

Zeigt die Befehle für die Schaltfläche Standard in Power Query
Wählen Sie für die Spalte den Befehl Dividieren

Geben Sie die Zahl 1440 in das Textfeld ein und bestätigen Sie mit OK.

Das Dialogfeld "Dividieren" in Power Query
Tragen Sie hier 1440 ein.

Ändern Sie nun noch den Datentyp der Spalte in Zeit. Damit sind Sie fertig.

Summe für aktuelles Jahr

Frage vom 23.03.2021

Hallo Herr Trummel,

der Grund meines Anrufes ist ein häufiges Problem, bei dem ich gerne Daten des aktuellen Jahres summieren / zählen möchte, ohne einen Datenschnitt zu benutzen.

Das Measure soll aufgrund der Systemzeit erkennen, wann der erste Tag des Jahres ist, und soll die Periode bis „Today()“ berechnen.

Gibt es hierzu eine Standardlösung?

Antwort

Gehen wir von folgender Tabelle aus:

DatumBetrag
01.01.202010,00 €
20.05.202010,00 €
24.12.202010,00 €
01.01.202120,00 €
01.02.202120,00 €
01.03.202110,00 €
20.05.202130,00 €

Gemäß Aufgabenstellung darf das Measure nur die Beträge vom 01.01.21, 01.02.21 und 01.03.21 summieren (Stand heute: 23.03.2021).

Laden Sie die Tabelle ins Datenmodell von Power BI und verbinden Sie sie mit der Kalendertabelle.

2 Tabellen im Datenmodell von Power BI, die mit einer 1:n-Beziehung verbunden sind

Erzeugen Sie nun das folgende Measure:

Betragssumme dieses Jahr = 
CALCULATE(
    SUM(Beispieldaten[Betrag]),
    DATESBETWEEN(
        Kalender[Datum],
        DATE(YEAR(TODAY()),1,1),
        TODAY()
    )
)

Die Funktion DATESBETWEENN erzeugt eine Liste mit Datumsangaben, und zwar von einem Start- bis zu einem Enddatum.

Das Startdatum ist hier immer der 1. Januar des aktuellen Jahres. Diesen errechnen Sie mit folgendem Ausdruck:

DATE(YEAR(TODAY()),1,1),

Die Funktion YEAR gibt aus dem aktuellen Datum (Funktion TODAY) die Jahreszahl zurück. Dieses verwenden Sie in der Funktion DATE, um ein gültiges Datum zu erzeugen.

Das Enddatum ist immer das heutige Datum, also TODAY.

Die Funktion CALCULATE sorgt nun dafür, dass SUM nur Beträge addiert, deren Datumsangaben in der von DATESBETWEEN erzeugten Datums-Liste enthalten sind.

Das Measure errechnet (Stand heute: 23.03.2021) einen Wert von 50,- €.

Wenn Sie nicht summieren, sondern zählen möchten, nutzen Sie statt SUM einfach die Funktion COUNT.


Fragen aus dem Januar 2021

Formel aus dem Seminar

Frage vom 21.01.2021

Diese Frage bezieht sich auf eine Übungsaufgabe aus meinem Power BI-Seminar. Die Aufgabe lautete:

Schreiben Sie ein Measure, das den Umsatz mit den Büchern zeigt, wobei nur solche Bücher beachtet werden sollen, von denen mindestens 30 Stück verkauft wurden.

Hier ist die Lösung:

Umsatz Bücher ab 30 Stück = 
CALCULATE(
    [Umsatz],
    FILTER('Bücher',[Anzahl verkaufte Bücher] >= 30)
)

In einer Matrix-Visualisierung sollten Sie dieses Measure dann für jede Literaturepoche ausgeben, sodass sich folgendes Bild hätte ergeben sollen:

Matrix, die den Umsatz je Literaturepoche für Bücher zeigt, die mehr als 30 mal verkauft wurden.
Lösung der Aufgabe

Ein Teilnehmer hatte jedoch eine andere Formel geschrieben. Diese sehen Sie hier:

Teilnehmerlösung = 
CALCULATE(
    [Umsatz],
    FILTER(Bestellungen,COUNT(Bestellungen[Buch-Nr])>=30)
)

Die Matrix zeigte dann auch ein anderes Bild:

Matrix in Power BI, die einen Umsatz je Literaturepoche zeigt. Die Umsatzspalte heißt "Teilnehmerlösung".
Die Matrix mit dem Measure Teilnehmerlösung.

Was genau tut das Measure Teilnehmerlösung und warum liefert es ein anderes Ergebnis? Lesen Sie im Folgenden die Antwort!

Antwort

Zuerst beschreibe ich Ihnen, warum das Measure Umsatz Bücher ab 30 Stück die richtige Antwort liefert. Betrachten Sie als Beispiel die Zeile Biedermeier, für die das Measure einen Umsatz von 418 € liefert.

Die Funktion CALCULATE berechnet das Measure Umsatz unter Berücksichtigung einer Filterbedingung neu. Diese Filterbedingung wird hier mit der Funktion FILTER realisiert. FILTER liefert eine virtuelle Tabelle, die eben jene Zeilen enthält, für die der Umsatz neu kalkuliert werden soll.

Betrachten Sie nun die Funktion FILTER genauer: Die Funktion bezieht sich auf eine der Grundtabellen des Datenmodells. Dies ist hier die Tabelle Bücher. Der Ausdruck [Anzahl verkaufte Bücher] >= 30 ist wiederum eine Filterbedingung, die in der Tabelle bestimmte Zeilen ermittelt. Dies sind die Bücher, die mindestens 30 Mal verkauft worden sind.

Nun müssen Sie auch noch den Filterkontext berücksichtigen, der von der Matrix-Visualisierung erzeugt wird! Für unsere Beispielzeile mit der Epoche Biedermeier bedeutet dies, dass die Grundtabelle Bücher, die in FILTER benutzt wird, bereits auf alle Bücher aus dem Biedermeier gefiltert ist. Was FILTER sieht ist im Prinzip Folgendes:

Matrix in Power BI, die Bücher aus der Biedermeier-Epoche zeigt.
Die interne Sicht von FILTER auf die Grundtabelle Bücher.

Die Anweisung [Anzahl verkaufte Bücher] >= 30 von FILTER selbst reduziert diese Tabelle dann weiter auf die Zeile mit dem Titel Das Hospiz auf dem Großen St. Bernhard, da nur dieses Buch die Filterbedingung erfüllt.

Und somit zeigt die erste Matrix aus der Frage oben für den Biedermeier auch nur einen Umsatz von 418 €.

Nun beschreibe ich Ihnen, warum das Measure Teilnehmerlösung andere Daten liefert:

Die Funktion FILTER greift hier auf die Tabelle Bestellungen. Bedingt durch den Filterkontext der Matrix sieht FILTER nur die Zeilen der Grundtabelle, in denen Bücher aus der jeweiligen Epoche verkauft worden sind. Nehmen wir als Beispiel wieder den Biedermeier, dann sieht FILTER diese Daten:

Matrix in Power BI mit Bestellungen von Büchern aus dem Biedermeier.
Die interne Sicht von FILTER auf die Tabelle Bestellungen.

Die Filterbedingung COUNT(Bestellungen[Buch-Nr])>=30 besagt nun, dass diese Zeilen von FILTER zurückgegeben werden, wenn die Anzahl der Buch-Nummern größer oder gleich 30 ist. Dies ist hier der Fall (s. Bild)! Der Umsatz aller Bestellungen mit Biedermeier-Büchern beläuft sich auf 874 €. Und das ist auch der Wert, der in der zweiten Matrix aus der Frage in der Zeile Biedermeier steht!

Beachten Sie, dass es in der Teilnehmerlösung keinen Bezug auf ein bestimmtes Buch gibt! Es geht immer um die gesamten Bestellungen der jeweiligen Literaturepoche!

Nun bleibt abschließend nur noch zu klären, warum das Gesamtergebnis der zweiten Matrix aus der Frage 5.230 € zeigt, wobei Sie bei der Addition der einzelnen Werte 1.028 + 360 + 874+ 965 + 913 + 492 doch auf 4.632 € kommen! Macht Power BI hier einen Fehler? Mitnichten!

Für Measures in Power BI gilt, dass Sie in jeder Zeile einer Visualisierung exklusiv und unabhängig von anderen Zeilen berechnet werden. Dies ist ein entscheidender Unterschied zu Berechnung von Kennzahlen in klassischen Pivot-Tabellen in Excel! Für die Zeile Gesamt gilt nun, dass FILTER auf alle Zeilen der Tabelle Bestellungen blickt. Eigentlich auch logisch, da es in der Gesamt-Zeile ja keine Einschränkung mehr auf eine Literaturepoche gibt. Und da die Anzahl der Buch-Nummern in der ungefilterten Tabelle Bestellungen natürlich größer als 30 ist, wird eben auch der Gesamtumsatz zurückgegeben.

Datenschnitt - Datumsbereich nur bis heute

Frage vom 21.01.2021

Bei dieser Frage geht es um einen Datenschnitt in Power BI, über den ein Datumsbereich gewählt werden kann. Nehmen Sie als Beispiel diesen Datenschnitt:

Datenschnitt in Power BI, der einen Schieberegler zeigt, über den ein Datumsbereich eingestellt werden kann.
Datenschnitt zur Auswahl eines Datumsbereichs

Die Frage war, ob es möglich ist, das angezeigte Enddatum (im Bild der 31.12.2025) immer dynamisch auf das aktuelle Datum zu setzen.

Antwort

Um diese Frage zu beantworten, habe ich in der Kalendertabelle mit folgender Formel eine neue berechnete Spalte angelegt:

Datumsauswahl = 
IF(
    Datumstabelle[Datum] <= TODAY(), 
    Datumstabelle[Datum],
    BLANK()
)

Die Formel prüft für jede Zeile der Kalendertabelle, ob das Datum vor dem heutigen Datum liegt bzw. ob es dem heutigen Datum entspricht. Die Funktion TODAY liefert dafür das aktuelle Systemdatum. Mit BLANK fügen Sie ein Leerzeichen ein, wenn das Datum noch in der Zukunft liegt.

Eine Tabelle in Power BI, die in der Spalte "Datumsauswahl" nur Einträge beinhaltet, wenn das Datum vor dem aktuellen Systemdatum liegt
Die Formel liefert nur Datumsangaben, die nicht hinter dem aktuellen Systemdatum liegen

Wenn Sie nun die Spalte Datumsauswahl in den Datenschnitt einfügen, reicht der auswählbare Datumsbereich nur bis zum aktuellen Systemdatum.

Ein Datenschnitt in Power BI, der nur Datumsangaben bis zum aktuellen Systemdatum zeigt (hier: 24.01.2021).
Der Datumsbereich im Datenschnitt endet jetzt beim aktuellen Systemdatum

Arbeitstage (inkl. Feiertage) berechnen

Frage vom 21.01.2021

Wie können in einem Projekt die Arbeitstage berechnet werden? Wie können sowohl Wochenendtage als auch Feiertage aus der Zählung ausgeschlossen werden?

Antwort

Lesen Sie dazu meinen Beitrag in der Rubrik Wissenswertes. Ich habe ihn um die Berechnung von Feiertagen erweitert:


Fragen aus dem Dezember 2020

Power BI und Teams - keine Lizenz

Frage vom 18.12.2020

Können Anwender in Teams freigegebene Power BI-Berichte lesen, wenn sie keine Power BI Pro-Lizenz besitzen?

Antwort

Nein, das ist nicht möglich. Benutzer, die weder die Power BI Pro-Lizenz besitzen, noch Mitglied einer Power BI Premium-Kapazität sind, können in Teams freigegebene Bericht zwar anklicken. Der Inhalt wird jedoch nicht geladen.

Mehr dazu lesen Sie in diesem Microsoft-Artikel:

https://docs.microsoft.com/de-de/power-bi/collaborate-share/service-collaborate-microsoft-teams

Bericht mit dynamischer Berechtigung freigeben

Frage vom 18.12.2020

Wir wollen unseren Power BI-Bericht freigeben, allerdings soll jeder Nutzer nur eine Projekte sehen können. Geht das?

Antwort

Ja, das geht. Ich habe einen Beitrag dazu geschrieben:

Monatsnamen in Datumstabelle einfügen

Frage vom 08.12.2020

Ich benutze eine Kalendertabelle als markierte Datumstabelle, um Berechnungsfehler auszuschließen (empfohlen von Marco Russo und Alberto Ferrari in Ihrem Buch Power BI…).

Dabei ist mir aber aufgefallen das der Drilldown in Diagrammen nicht so gut funktioniert wie in einer automatischen Datumshierarchie.

Außerdem möchte ich gerne 2 Jahre im Diagramm einsehen. Die Daten sollen natürlich nach Datum sortiert sein. Angezeigt werden soll aber nur das Jahr und der Monat als Name nicht als Zahl.

Also:

2019 Januar, Februar, ...

2020 Januar, Februar, ...

Wenn ich das über die Funktion gruppieren löse, ist das Datum etwas unscharf da die Daten monatlich auf 30 Tage verteilt werden (kaufm. Jahr).

Haben Sie einen Tipp das zu lösen?

Antwort

Erzeugen Sie in Ihrer Datumstabelle mit der Funktion FORMAT eine Spalte mit Monatsnamen.

Wechseln Sie in Power BI Desktop in den Bereich Daten und wählen Sie die Datumstabelle aus. Klicken Sie dann auf der Registerkarte Start auf Neue Spalte.

Menüband von Power BI Desktop. Die Registerkarte "Start" und der Befehl "Neue Spalte" sind rot umkreist.
Fügen Sie eine neue Spalte ein.

Geben Sie folgende Formel ein:

Monatsname = FORMAT(Datumstabelle[Date],"MMMM")

Des Weiteren gehe ich davon aus, dass Sie in Ihrer Datumstabelle eine Spalte mit Monatsnummern (Zahlen) haben (berechnet z.B. mit der Funktion MONTH).

Damit die Monatsnamen nicht alphabetisch sortiert werden, binden Sie die Sortierung der Monatsnamen an die Monatsnummern.

Wählen Sie Spalte Monatsname an und klicken Sie auf der Registerkarte Spaltentools auf die Schaltfläche Nach Spalte sortieren. Wählen Sie in der Liste die Spalte Monatsnummer.

Befehl "Nach Spalte sortieren" in Power BI Desktop. In der Liste ist "Monatsnummer" gewählt.
Binden Sie die Sortierung der Monatsnamen an die Monatsnummern.

Nun können Sie die Monatsnamen in Ihren Visualisierungen verwenden.

DAX-Measure für eine m:n-Beziehung

Frage vom 03.12.2020

Ich möchte gern aus 2 Tabellen ein DAX-Measure erstellen, bei dem es um folgendes geht:

Tabelle 1: Fertigungen mit Spalte Lieferdatum

Tabelle 2: Reklamationen mit Spalte Auftragsdatum

Beide Tabellen sind über die Spalte FANummer miteinander verknüpft (m:n-Beziehung).

Nun möchte ich eine Quote ermitteln:

Wie viele Reklamationen sind innerhalb von 15 Monaten nach Lieferdatum für eine FANummer eingegangen.

Hier sind die beiden Tabellen (Demodaten):

Tabelle Fertigungen

FANummerLieferdatum
101.01.2020
101.01.2020
202.01.2020
202.01.2020
202.01.2020
330.06.2020
407.09.2020
407.09.2020

Tabelle Reklamationen

FANummerAuftragsdatumBezeichnung
131.12.2020A
109.05.2021B
127.03.2020C
207.08.2021D
314.05.2021E
301.01.2021F
406.12.2021G
403.03.2022H
404.09.2023I
406.07.2029J

In diesem Beispiel wären das die Reklamationen A, C, E, F und G.

Ich brauche ein Measure, dass die Anzahl der von der Bedingung betroffenen Reklamationen ermittelt, hier also 5. 

Antwort

Folgendes Measure löst die Aufgabe:

Reklas M15 = 
SUMX( 
    SUMMARIZE( 
        'Fertigungen',
        Fertigungen[FANummer],
        "Anzahl Reklas M15",
        COUNTROWS(
            FILTER(
                RELATEDTABLE(Reklamationen),
                Reklamationen[Auftragsdatum] >= MAX('Fertigungen'[Lieferdatum]) && 
                Reklamationen[Auftragsdatum] <= MAXX(Fertigungen,EDATE(Fertigungen[Lieferdatum],15))
            )
        )
    ),
    [Anzahl Reklas M15]
)

Gehen wir die einzelnen Funktionen einmal von außen nach innen durch:

Mit SUMX addiere ich Zahlen in einer Tabellenspalte.

Die Tabelle erzeuge ich hier mit Hilfe der Funktion SUMMARIZE (es handelt sich um eine sogenannte virtuelle Tabelle). Sie gruppiert die Datensätze der Tabelle Fertigungen nach FANummern und berechnet die Ergebnisspalte „Anzahl Reklas M15“, indem sie die Anzahl der verbundenen Reklamationen berechnet, bei denen das Auftragsdatum zwischen dem Lieferdatum und dem Lieferdatum in 15 Monaten liegt.

Diese Berechnung ist nicht ganz simpel, ich versuche es aber mal in einfachen Worten zu erklären:

Der Trick ist, dass ich mir zu jeder Fertigung (also zu jeder Zeile in der von SUMMARIZE gelieferten Tabelle) die mit ihr verbundenen Reklamationen ermitteln lasse. Das erreiche ich mit der Funktion RELATEDTABLE. Die von der Funktion gelieferten Datensätze muss ich jedoch weiter filtern, weshalb ich RELATEDTABLE als zu filternde Tabelle in der Funktion FILTER nutze.

Als Filterbedingung gebe ich nun an, dass das jeweilige Auftragsdatum der Reklamation größer oder gleich dem Lieferdatum und kleiner oder gleich dem Lieferdatum in 15 Monaten sein muss. Achtung: Da wir uns jetzt in der Tabelle Reklamationen bewegen, kann ich nicht mehr direkt auf das Lieferdatum zugreifen. Ich kann es aber mit Hilfe der Funktion MAX ermitteln, die auf Grund des Filterkontextes, den SUMMARIZE erzeugt, das Lieferdatum der in der äußeren Funktion betrachteten Fertigung liefert. Ja, das ist wirklich etwas knifflig...

Das Lieferdatum in 15 Monaten erzeuge ich, indem ich mit der Funktion EDATE das Lieferdatum um 15 Monate in die Zukunft verschiebe. Auch hier kann ich nicht direkt auf das Liederdatum zugreifen, daher nutze ich die Funktion MAXX – MAXX, weil ich hier eine Berechnung eingeben kann (nämlich EDATE).

Die Funktion COUNTROWS zählt die Zeilen der von FILTER zurückgegebenen Tabelle. Damit erhalte ich die Anzahl der Reklamationen, die der jeweiligen Fertigung zugeordnet sind und im 15-Monats-Rahmen des Lieferdatums liegen. Die Zahl steht in der der Ergebnisspalte "Anzahl Reklas M15".

Zum Schluss addiert SUMX alle Zahlen aus der Ergebnisspalte "Anzahl Reklas M15" auf und bildet damit das Gesamtergebnis.

Schauen wir uns die Ergebnisse an:

In einer Tabellen-Visualisierung gebe ich die Spalten FANummer (aus Fertigung), Lieferdatum und das Measure aus:

Tabelle "Fertigungen" mit 3 Zeilen
Die Fertigungen mit dem Measure Reklas M15

In einer weiteren Tabellen-Visualisierung gebe ich zur Kontrolle die FANummer (diesmal aus Reklamationen), das Auftragsdatum, die Bezeichnung sowie das Measure aus:

Tabelle "Reklamationen" mit 5 Zeilen
Die Tabelle "Reklamationen" mit dem Measure "Reklas M15"

Meiner Ansicht nach sollte das Ergebnis korrekt sein.

Trotzdem gilt: Bitte testen Sie das Measure ausgiebig, bevor Sie den Ergebnissen wirklich vertrauen! Bekanntlich steckt der Teufel im Detail!


Fragen aus dem November 2020

Anzahl Arbeitstage in einem Projekt berechnen

Frage vom 09.11.2020

Wie kann man die Arbeitstage in einem Projekt oder einem Auftrag bestimmen?

Antwort

Dazu habe ich den Beitrag in meiner Rubrik Wissenswertes geschrieben. Sie finden die Antwort hier:


Fragen aus dem Oktober 2020

Externe Gastbenutzer in Power BI

Frage vom 27.10.2020

Kann man Power BI-Berichte auch an externe Gastbenutzer weitergeben?

Antwort

Ja das geht. Das Gastbenutzer benötigt dafür eine Power BI Pro-Lizenz. Sie können ihm diese Lizenz zur Verfügung stellen, falls der Gastbenutzer selbst keine Lizenz besitzt.

Wie Sie Gastbenutzer anlegen und diesem Lizenzen zuweisen, erklärt dieser Artikel: https://docs.microsoft.com/de-de/power-bi/admin/service-admin-azure-ad-b2b

Alle DAX-Funktionen erklärt

Frage vom 27.10.2020

Wo finde ich eine Übersicht über die DAX-Funktionen in Power BI?

Antwort

Eine sehr gute Übersicht über die DAX-Funktionen finden Sie hier:

https://docs.microsoft.com/de-de/dax/dax-function-reference

GANTT-Diagramme in Power BI

Frage vom 27.10.2020

Kann man in Power BI ein GANTT-Diagramm (Balkenplan-Diagramm) erstellen, um Projekte / Aufgaben in zeitlicher Abfolge in Form von Balken auf einer Zeitachse darzustellen?

Antwort

Ja, das geht. Gehen Sie folgendermaßen vor:

Roter Pfeil markiert die Option "Visual aus einer Datei importieren" in Power BI Desktop
  • Lernen Sie die Visualisierung kennen, indem Sie in Excel eine einfache Demo-Tabelle anlegen, die Sie in Power BI Desktop importieren:
Excel-Tabelle mit den Spalten Aufgabe, Startdatum und Ende sowie 4 Zeilen.
  • Fügen Sie in Power BI Desktop die neue Gantt-Visualisierungen in einen Bericht und ziehen Sie die Felder Aufgabe, Startdatum und Enddatum in die gleichnamigen Bereiche in der Felder-Leiste.

Hier ist Ihr Gantt-Diagramm in Power BI!

Ein Gantt-Diagramm in Power BI mit 4 Balken auf einer Zeitachse.

Erfahrungen mit Power BI

Frage vom 27.10.2020

Auf welche Weise findet Power BI erfahrungsgemäß in Unternehmen seine Anwendung?


Es ist ja als Selbsthilfe-Tool für jeden gestrickt, trotzdem halte ich es auch nicht für unwahrscheinlich, dass am Ende sehr wenige Personen für sehr viele Personen Dashboards basteln.


Welche Erfahrungen haben Sie denn schon gemacht bzw. gibt es da eine Tendenz die sich abzeichnet?

Antwort


Im Prinzip soll es genau so sein, wie Sie vermuten: Einige Berichtsdesigner erzeugen mit Power BI Desktop Berichte, welche sie über den Power BI-Dienst einer größeren Zahl an Nutzern zur Verfügung stellen.

Das Konzept soll gerade nicht sein, dass jeder mit Power BI Desktop seine eigenen Berichtsdateien baut, denn dann erzeugt jeder seine eigenen kleinen Wissensinseln und es findet kein Austausch von Erkenntnissen statt.

Wie dies in den Unternehmen umgesetzt wird, hängt natürlich sehr stark davon ab, ob diese den Power BI-Dienst verwenden und ob die Vorteile der Anwendung richtig kommuniziert werden.

Meiner Erfahrung nach tun sich viele Unternehmen mit dem Dienst sehr schwer, da sie ihre Daten nicht in der Microsoft-Cloud speichern wollen. Der Preis spielt dabei eine eher untergeordnete Rolle. Es geht vielmehr um Fragen der Datensicherheit.

Gerade durch die Corona-Krise haben Unternehmen jedoch den Nutzen und die Notwendigkeit von Cloud-Lösungen erkannt. Dagegen steht, dass Datenschützer jüngst wieder massiv Microsoft für seine Datenschutzbedingungen kritisieren.
https://www.heise.de/news/Datenschutzbehoerden-erklaeren-den-Einsatz-von-Microsoft-365-fuer-rechtswidrig-4931745.html

Es bleibt abzuwarten, wie sich die Lage hier entwickelt und ob Microsoft mehr auf die Wünsche der europäischen Kunden in Punkto Datenschutz eingehen wird.