Posts

Power Query, zeitliche Differenz in Kalender-, Arbeitstagen, Stunden und Minuten berechnen

Bild
Im Folgenden wird eine Methode mit Power Query beschrieben, wie man ausgehend von Startdatum, Startuhrzeit / Enddatum, Enduhrzeit zeitliche Differenzen (Kalender-, Arbeitstagen, Stunden, Minuten) berechnen kann Wie man optional eine Liste mit Feiertagen erstellen kann sehen Sie hier Language M Code --- SCHNIPP --- let fxArbeitstage = (start as date, end as date, optional Feiertage as list) as number =>         let            Liste_Feiertage = if Feiertage = null then {} else Feiertage,            Liste_Tage = {Number.From(start)..Number.From(end)},            Liste_Differenz  = List.Difference(Liste_Tage, Liste_Feiertage),            Liste_Mod = List.Transform(Liste_Differenz, each Number.Mod(_, 7)),            Liste_Sel = List.Select(Liste_Mod, each _>1),       ...

Power Query, relatives Datum, Filter

Bild
Im Folgenden wird eine Methode beschrieben, wie man anhand eines Datums ein relatives Datum ableiten kann 1 Liste mit Datumswerten als Abfrage abbilden 2 benutzerdefinierte Spalte hinzufügen, Name [relativer_Monat]    =(Date.Year([Datum])-1)*12+Date.Month([Datum])-((Date.Year(DateTime.LocalNow())-1)*12+ Date.Month(DateTime.LocalNow())) 3 benutzerdefinierte Spalte hinzufügen, Name [Datumsfilter]   =if [relativer_Monat] > 0 then "zukünftig" else if [relativer_Monat] = 0 then "laufender Monat" else if [relativer_Monat] >= -1 then "letzter Monat" else if [relativer_Monat] >= -3 then "letzte 1-3 Monate" else if [relativer_Monat] >= -6 then "letzte 4-6 Monate" else if [relativer_Monat] >= -9 then "letzte 7-9 Monate" else if [relativer_Monat] >= -12 then "letzte 10-12 Monate" else "1 Jahr und länger zurück" weiterführende Informationen siehe hier Lern Video

Power Query, Feiertagsliste erstellen

Mit folgendem Language M Code (Power Query, neue leere Abfrage) kann eine Feiertagsliste erstellt werden: --- SCHNIPP --- (Jahr) => let Neujahr = Number.From(DateTimeZone.From("01.01." & Text.From(Jahr))), ErsterMai = Number.From(DateTimeZone.From("01.05." & Text.From(Jahr))), Weihnachtstag1 = Number.From(DateTimeZone.From("25.12." & Text.From(Jahr))), Weihnachtstag2 = Number.From(DateTimeZone.From("26.12." & Text.From(Jahr))), Ostersonntag= Number.Round ( Number.From ( Number.From ( Date.From ( DateTimeZone.From("01.04."&Text.From(Jahr)) ), type date ), Int64.Type )/7 + Number.Mod ( 19*Number.Mod(Jahr,19)-7,30 )*0.14 ,0 )*7-6, Karfreitag = Ostersonntag-2, Ostermontag = Ostersonntag+1, ChristiHimmelfahrt = Ostersonntag+39, Pfingstmontag = Ostersonntag+50, Feiertagsliste= Table.FromList ( { [A="Neujahr", B=Neujahr], [A="Karfreitag", B=Karfreitag], [A="...

SAP Tabellenbeziehungen

Unter  Berater Wiki  können u.a. Beziehungen zwischen wichtigen SAP Tabellen abgerufen werden, so zum Beispiel: Konditionen Logistik SAP MM Stammdaten Eine Übersicht finden Sie hier

Dropdown Liste mit Mehrfachauswahl

Bild
Standardmäßig kann in einem Dropdownfeld nur ein Eintrag ausgewählt werden (Daten -> Datentools -> Datenüberprüfung). Ein dynamisches Dropdownfeld kann folgendermaßen realisiert werden abhängige, dynamische Dropdownfelder können folgendermaßen in Excel  realisiert werden weiterführende Informationen siehe hier Um eine Mehrfachauswahl zu realisieren, kann der folgende VBA-Code im betreffenden Arbeitsblatt verwendet werden (rechte Maustaste auf Arbeitsblatt -> Code einfügen). --- SCHNIPP -- Private Sub Worksheet_Change(ByVal Target As Range) '** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung) '** Einfügen im Code-Container des betreffenden Arbeitsblattes '** Dimensionierung der Variablen Dim rngDV As Range Dim wert_old As String Dim wertnew As String '** Errorhandling On Error GoTo Errorhandling '** Mehrfachauswahl im definierten Bereich (Bsp. B4:B14) durchführen If Not Application.Intersect(Target, Range("B4:B14...

Umgang mit wechselnden Spaltenbeschriftungen Table.DemoteHeaders()

Bild
Falls sich die Spaltenbeschriftungen in der Datenquelle ändern, kann man diesem Umstand mit Power Query begegnen. Es ist allerdings zu beachten, dass sich Anzahl und Reihenfolgeposition der Spaltenbeschriftungen in der Datenquelle nicht ändern dürfen. Ansonsten besteht die Gefahr, dass mit falschen Werten weitergearbeitet wird. 1 Table.DemoteHeaders() 2 Spalten umbenennen 3 erste Zeile entfernen alternative Methode alternative Methode 2  List.Zip()

Power Pivot, Mittelwert als Datenreihe in Pivot Chart abbilden

Bild
Im Standard ist es nicht möglich, in einem Pivot Chart den Mittelwert einer Zahlenreihe abzubilden. Mit Hilfe von Power Pivot und den DAX Funktionen CALCULATE(), AVERAGE() und ALL() kann man diese Anforderung dennoch umsetzen. Die Vorgehensweise dabei ist wie folgt: 1 Tabelle über Reiter Power Pivot zum Datenmodell hinzufügen: 2 Mittels DAX Funktionen ein measure Mittelwert bilden, welches nicht auf Filter reagiert: Mittelwert:=CALCULATE(AVERAGE(Tabelle1[Wert]);All(Tabelle1)) Exkurs DAX ALL() Funktion 3 auf Basis des tabellarischen Modells ein Pivot Chart erstellen 4 Aufriss Pivot erstellen 5 measure Mittelwert als Linien Chart abbilden Exkurs Power Pivot DAX Funktionen