Durchschnittswerte über Zeitreihen in Power BI zu kalkulieren, bedarf ein paar Voraussetzungen, die – wenn man sie nicht beachtet – einem das Leben sehr schwer machen können. Daher zeige ich in diesem Beitrag/ Video, wie Du mit und ohne AVERAGEX() Durchschnittswerte in DAX kalkulieren kannst.
Als Abonnent meines Newsletters erhältst Du die Beispieldateien zu den Beiträgen dazu. Hier geht’s zum Abonnement des Newsletters!
DIE PROBLEMSTELLUNG
Der folgende Screenshot zeigt das Szenario. In der linken Matrix befinden sich verkaufte Stück je Artikel. Artikel 123 wird über 5 Monate verkauft, Artikel 654 nur in einem Monat. Die Mittelwertberechnung soll 5 Monate berücksichtigen. Während die Mittelwertberechnung in Version (1) die korrekten Werte berechnet, findet in Version (2) keine Berücksichtigung von Leerwerten (sog. blank-Werte) statt.
LÖSUNGSVIDEO
Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Danke für Dein Interesse und bis zum nächsten Mal. Denk dran: Sharing is caring. Wenn Dir der Beitrag gefallen hat, dann teile ihn gerne. Falls Du Anmerkungen hast, schreibe gerne einen Kommentar, oder schicke mir eine Mail an lars@ssbi-blog.de
Lars ist Berater, Entwickler und Trainer für Microsoft Power BI. Er ist zertifizierter Power BI-Experte und Microsoft Trainer. Für sein Engagement in der internationalen Community wurde Lars seit 2017 jährlich durch Microsoft der MVP-Award verliehen. Lies hier mehr…
Domenic Berger meint
Hallo Lars,
danke Dir für das sehr interessante Video. Wie würde es denn aussehen, wenn ich einen gleitenden Mittelwert über mehrere Jahre hinweg berechnen möchte? Ist das möglich?
Viele Grüße
Domenic
Zeki Aslan meint
Hallo Lars,
erst mal vielen Dank für Deine Tutorials in Youtube.
Vielleicht hast Du eine Idee, ob und wie ich den Durchschnitt von Sale pro Jahr in einer neuen Spalte aus den vorhandenen Spalten Year und Sale in Power Query per Formel erzeugen kann.
Ich habe es zwar durch Gruppieren und anschließendem Zusammenführen hinbekommen. Jedoch wäre es mir mit einer benutzerdefinierten Spalte lieber.
Vielen Dank und viele Grüße
Zeki
Lars Schreiber meint
Hallo Zeki,
um ehrlich zu sein, würde ich es ebenfalls über Gruppierungen lösen. Das Berechnen in einer berechneten Spalte macht es nicht einfacher. Manchmal ist es sinnvoll, ein Ergebnis über mehrere Schritte zu produzieren, um den Überblick zu bewahren 😉
Falls Du den Mittelwert jedoch in einer berechneten Spalten NEBEN deinen Einzelwerten haben willst, würde das so aussehen…
let
Quelle = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(„i45WMjIwMlLSUTJUitWBc4xgHGMgxxiZY6IUGwsA“, BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Jahr = _t, Wert = _t]),
#“Geänderter Typ“ = Table.TransformColumnTypes(Quelle,{{„Jahr“, Int64.Type}, {„Wert“, Int64.Type}}),
#“Gruppierte Zeilen“ = Table.Group(#“Geänderter Typ“, {„Jahr“}, {{„Anzahl“, each List.Average([Wert]), type nullable number}}),
Benutzerdefiniert1 = #“Geänderter Typ“,
#“Zusammengeführte Abfragen“ = Table.NestedJoin(Benutzerdefiniert1, {„Jahr“}, #“Gruppierte Zeilen“, {„Jahr“}, „Benutzerdefiniert1″, JoinKind.LeftOuter),
#“Erweiterte Benutzerdefiniert1″ = Table.ExpandTableColumn(#“Zusammengeführte Abfragen“, „Benutzerdefiniert1“, {„Anzahl“}, {„Anzahl“}),
#“Umbenannte Spalten“ = Table.RenameColumns(#“Erweiterte Benutzerdefiniert1″,{{„Anzahl“, „Durchschnittswert“}})
in
#“Umbenannte Spalten“
LG, Lars