Posts

Power Pivot, GANTT Darstellung

Bild
Im folgenden wird beschrieben, wie man mit Power Pivot eine dynamische Gantt-Darstellung erstellen kann 1 Ausgangstabelle [tbl_Aufgaben] erstellen und zu Datenmodell hinzufügen 2 Tabelle für einzelne Tage [tbl_Tage] erstellen und in Datenmodell hinzufügen 3 folgende Spalten im Datenmodell  zu [tbl_Aufgaben] hinzufügen: [Status] =IF(tbl_Aufgaben[Prozent_Fortschritt]=1;"abgeschlossen";IF(tbl_Aufgaben[Ende]<TODAY() && tbl_Aufgaben[Prozent_Fortschritt]<1;"überfällig";"offen") [Faktor] =SWITCH(tbl_Aufgaben[Status];"abgeschlossen";2;"überfällig";-1;1) [Prozent] =IF(tbl_Aufgaben[Prozent_Fortschritt]=BLANK();0;tbl_Aufgaben[Prozent_Fortschritt]*100) & "%" 4 Datumstabelle [Kalender] im Datenmodell erstellen, mit [tbl_Tage] verknüpfen (hier: Felder [Kalender].[Wochentag] N, [tbl_Tage].[Tag] 1) und [Kalender] um folgende Spalten ergänzen [Woche_endet_am] =DATEADD(Kalender[Date];RE...

Power Pivot, DAX,DATEADD(), Periodenvergleiche, YearOverYear, QuarterOverQuarter, MonthOverMonth

Bild
Periodenvergleiche können mit Excel Power Pivot mit der DAX Funktion DATEADD() umgesetzt werden Beispiel [Faktentabelle] 1 [Datumstabelle] mit Power Pivot erstellen 2 [Faktentabelle] und [Datumstabelle] über Datumsfeld verknüpfen 3 Measures in Faktentabelle anlegen Wert_Vorjahr:=CALCULATE ( SUM ( Tabelle1[Wert] ); DATEADD ( Kalender[Date]; -1; YEAR ) ) Wert_Vorvorjahr:=CALCULATE ( SUM ( Tabelle1[Wert] ); DATEADD ( Kalender[Date]; -2; YEAR ) ) Wert Vorquartal:=CALCULATE ( SUM ( Tabelle1[Wert] ); DATEADD ( Kalender[Date]; -1; QUARTER ) ) Wert Vormonat:=CALCULATE ( SUM ( Tabelle1[Wert] ); DATEADD ( Kalender[Date]; -1; MONTH ) ) 4 Ergebnis (Pivottabelle, vereinfachte Pivottabelle) Quelle https://powerpivotinsights.de/dateadd/ alternativ (getestet mit Power BI Desktop) DAX  YoY(Jahresvergleich) =   var _prev =   IF (   NOT ( ISBLANK ( [Umsatz] )),   CALCULATE ( [Umsatz] , PREVIOUSYEAR ( Kalender_DAX [Date] )  ))   RETURN...

Power Pivot, Segment Analyse

Bild
Lern Video Im folgenden wird eine Methode aufgezeigt, wie man mittels Power Pivot und einem Measure eine dynamische Segment Analyse durchführen kann. Ziel dabei ist es, die Anzahl der Aufträge je Datum nach ihrem Auftragswert zu segmentieren (Segmente Datenschnitt [Display] und zu analysieren (Pivottabelle, analytischer Bericht) 1 Tabelle mit Segmenten anlegen und ins Power Pivot Modell übernehmen 2 Datumstabelle in Power Pivot anlegen und Verknüpfung über Feld [Datum] (hier: [Bestelldatum], [Date] N:1) herstellen 3 Measure in Power Pivot anlegen Anzahl Aufträge segmentiert:=IF (     HASONEVALUE ( tbl_Segment[ID] );     COUNTROWS (         FILTER (             tbl_Auftragsdaten;             tbl_Auftragsdaten[Auftragswert] < VALUES ( tbl_Segment[bis] )         )     );     BLANK () ) 4 Pivot Tabelle auf Basis Power P...

Power Query, laufender Index innerhalb einer Gruppe, Gruppenindex

Bild
Aufgabe: laufenden Index innerhalb einer Gruppe (hier: [Bestellnummer]) erstellen.  Nach Gruppenwechsel  (hier: von Bestellnummer 500000000 zu 6000000000)  fängt der Index wieder bei 1 an 1 Gruppieren, neuer Spaltenname [Daten] 2 benutzerdefinierte Spalte [Gruppenindex] hinzufügen =Table.AddIndexColumn([Daten], "Index", 1, 1) 3 Spalte [Daten] entfernen 4 Spalte [Gruppenindex] erweitern Praxisbeispiel SAP ERP Tabelle MVER (Verbrauchsdaten) Language M Code --- SCHNIPP --- let     Quelle = Excel.CurrentWorkbook(){[Name="tbl_SAP_MVER"]}[Content],     #"Entpivotierte Spalten" = Table.UnpivotOtherColumns(Quelle, {"Material", "Jahr", "Periode", "Zeile"}, "Attribut", "Wert"),     Spalte_Verbrauch_hinzufuegen = Table.AddColumn(#"Entpivotierte Spalten", "Verbrauch", each "Verbrauch"),     Spalte_Attribut_entfer...

Power Query, Anzahl Zeichen in einem Text ermitteln

Bild
Mit folgender benutzerdefinierten Funktion kann die Anzahl Zeichen in einem Text (string) ermittelt werden: fxAnzahlZeichen ---- SCHNIPP (string as text, zeichen as text) => let   ListObjectZeichen=Text.ToList(string),   Loop=List.Accumulate(ListObjectZeichen,                        0,                        (state, current) => if current = zeichen                                            then state + 1                                            else state                        ) in   Loop ---- SCHNAPP Anwendungsbeispiel Ordnerpfad aus einem Dateip...

Sharepoint, Listen URL Struktur eines Listenelements

generische URL Struktur einer Sharepoint Liste: https://domain/sitecollection/site/lists/Listname/ Listenelement anzeigen https://domain/sitecollection/site/lists/Listname/ DispForm.aspx?ID=XX Listenelement bearbeiten https://domain/sitecollection/site/lists/Listname/ EditForm.aspx?ID=XX Listenelement anlegen https://domain/sitecollection/site/lists/Listname/ NewForm.aspx?ID=XX siehe auch hier

Power Query, logische Operatoren AND OR, IF THEN ELSE, Bedingungen mehrere Werte prüfen

Bild
Mit Hilfe einer benutzerdefinierten Funktion (Language M) ist es möglich, mehrere Bedingungen für verschiedener [Felder] zu prüfen. Damit können mit Power Query komplexe Prüflogiken realisiert werden --- benutzerdefinierte Funktion Language M ---- let CheckWerte= (Wert1 as any, Wert2 as any, WertN as any) => if (Wert1 >=3 and Wert2 >=3 and WertN >=3) or (Wert1 >=5 and Wert2 >=5) then "wahr" else "falsch" in CheckWerte --- benutzerdefinierte Funktion Language M --- Praxis Beispiel, regelbasierte Ermittlung von Planlieferzeiten in Abhängigkeit von 3 Produktattributen [Artikelfamilie], [Modul], [Länge] --- SCHNIPP Praxis Beispiel mit 3 Prüfbedingungen let CheckWerte= (parArtikelfamilie as any, parModul as any, parLaenge as any) => if (parArtikelfamilie ="ZST" or parArtikelfamilie = "ZMT" and parModul = 200 or parModul = 300) and parLaenge <= 1000 then 28 else if (parArtikelfamilie ="ZST...