SAP, Power BI, Liefertreue und Lieferzeit berechnen
Lern Video
1 Verzug berechnen,
Fallunterscheidung:
[Wareneingangsdatum] = NULL -> Verzug NULL
[Wareneingangsdatum] = [stat_Lieferdatum] -> Verzug = 0
[stat_Lieferdatum] < [Wareneingangsdatum] -> Verzug fxArbeitstage([stat_Lieferdatum],[Wareneingangsdatum]
[stat_Lieferdatum] > [Wareneingangsdatum] -> Verzug fxArbeitstage([Wareneingangsdatum],[stat_Lieferdatum]) *(-1)
2 Lieferzeit
Language M Code (Power Query)
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),
Ergebnis = List.Count(Liste_Sel)
in
Ergebnis,
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle2"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"stat_Lieferdatum", type date}, {"Wareneingangsdatum", type date}, {"Bestelldatum", type date}}),
Verzug = Table.AddColumn(#"Geänderter Typ", "Verzug", each if [Wareneingangsdatum] = null then null else
if [stat_Lieferdatum]=[Wareneingangsdatum] then 0 else
if [stat_Lieferdatum] < [Wareneingangsdatum] then fxArbeitstage([stat_Lieferdatum],[Wareneingangsdatum]) else
if [stat_Lieferdatum]>[Wareneingangsdatum] then fxArbeitstage([Wareneingangsdatum],[stat_Lieferdatum]) *(-1) else
0),
liefertreu = Table.AddColumn(Verzug, "liefertreu", each try if [Verzug]<= 2 then 1 else 0 otherwise 0),
#"Geänderter Typ2" = Table.TransformColumnTypes(liefertreu,{{"liefertreu", type logical}}),
Lieferzeit = Table.AddColumn(#"Geänderter Typ2", "Lieferzeit", each try fxArbeitstage([Bestelldatum],[Wareneingangsdatum]) otherwise null),
Lieferzeit_Zahl = Table.TransformColumnTypes(Lieferzeit,{{"Lieferzeit", Int64.Type}})
in
Lieferzeit_Zahl
3 in Datenmodell (Power Pivot) laden
4 Berechnungen (Kennzahlenbildung) mit DAX durchführen
Positionen:=COUNTROWS(Verzug)
Positionen_liefertreu:=CALCULATE(COUNTROWS(Verzug);FILTER(Verzug;Verzug[liefertreu]=TRUE))
Liefertreue:=[Positionen_liefertreu]/[Positionen]
øLieferzeit:=AVERAGE([Lieferzeit])
Ergebnis
Kommentare
Kommentar veröffentlichen