Posts

Power Query, Zeilensumme bei NULL Werten

Bild
Ausgangslage: Wenn man die Spalten M1, M2, M3 addiert, führen leere oder NULL Werte in der Ausgangstabelle dazu, dass das Ergebnis leer oder NULL ist. Verwendet man indes List.Sum() wird die Zeilensumme korrekt berechnet: = Table.AddColumn(Quelle, "Summe", each List.Sum({[M1],[M2],[M3]})) Dies gilt auch für alle anderen Aggregatfunktionen. Alternative = List.Sum(List.Range(Record.ToList(_),1)) weiterführender link Lern Video

Power Pivot, Hierarchisierung eines Merkmals/Dimension, PATH(), PATHITEM(),LOOKUPVALUE()

Bild
Im Folgenden wird eine Methode mit Power Pivot und den DAX Funktionen PATH(), PATHITEM(), LOOKUPVALUE() beschrieben, um ein Merkmal / Dimension zu hierarchisieren 1 Tabelle 1, Tabelle 2 zum Datenmodell hinzufügen (Power Pivot) 2 Tabelle 1, Spalte hinzufügen DAX Funktion =PATH([Warengruppe];[Parent]) 3 weitere Spalten für Ebenen hinzufügen (hier: Spalten Ebene1, Ebene2, Ebene3, Ebene4) =LOOKUPVALUE(Tabelle2[Warengruppe_Text];Tabelle2[Warengruppe];PATHITEM(Tabelle1[Pfad];1)) Exkurs LOOKUPVALUE() 4 in Diagrammsicht wechseln und neue Hierarchie erstellen erweiterter Ansatz Unschön sind dabei leere (Unter-) Zweige (gelb markiert) Diese können durch folgende Erweiterung des Modells vermieden werden berechnete Spalte anlegen (Name HierarchieTiefe): = Pathlength ( Tabelle2[Pfad] ) 3 neue Measures anlegen: BaumTiefe:=ISFILTERED ( Tabelle2[Ebene1] ) + ISFILTERED ( Tabelle2[Ebene2] )     + ISFILTERED ( Tabelle2[Ebene3] ) + ISFI...

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...