Posts

Es werden Posts vom August, 2018 angezeigt.

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 DIVIDE ( [Umsatz] - _prev , _pr

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 Pivot Modell aufbauen (hier: Zeile [Bestelldatum], Wertebereich  Measure [Anzahl Aufträge segmentiert]) 5 Datenschnitt einfügen (hier:

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 Dateipfad extrahieren berechnete Spalte hinzufügen [Ordnerpfad] =Text.BeforeDelimiter([Dateipfad],"\",Number.From(fxAnzahlZeichen([Dateipfad],"\"))-1) siehe auch For ... Next Schleifen

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