CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Planung mit Verteilungsfaktor

Eine Planungsanwendung sollte performant sein. Deshalb ist es wichtig, die richtige Dimensionalität für die Planungs-Measure-Gruppen auszuwählen. Oft besteht die Anforderung, auf einer niedrige Dimensionsebene z. B. auf Tagesebene zu planen, wobei die Verteilung der Monatswerte bzw. Wochenwerte auf die Tage immer das gleiche Muster zurückgeben kann; z. B. Montag hat immer den niedrigsten Umsatz der Woche. Statt die Werte auf Tagesebene zu schreiben, kann für dieses Szenario eine zweite Measure-Gruppe definiert werden, welche für jeden Tag einen Verteilungsfaktor enthält. Der Tageswert kann danach im Cube-Skript berechnet werden.
Im Folgenden wird der Aufbau einer Planungsanwendung mit dem dargestellten Ansatz näher erläutert.

Szenario

Es soll eine Umsatzplanung auf Tagesebene realisiert werden. Die Umsätze auf Tagesebene haben in der Regel die gleiche Verteilung; Wochenenden und Feiertage sollen nicht berücksichtigt werden.

Abb. 1: Umsatzverteilung nach Wochentag

Modell

Es wird eine Planungs-Measure-Gruppe „Deckungsbeitragsrechnung“ erstellt, diese Measure-Gruppe wird mit der Dimension „Periode“ auf Monatsebene und allen weiteren relevanten Dimensionen verknüpft.

Measure Gruppe Deckungsbeitragsrechnung

Abb. 2: Measure-Gruppe „Deckungsbeitragsrechnung“

Eine zweite Measure-Gruppe „Tagesverteilung“ wird definiert, diese ist nur mit der Dimension Periode über die Ebene Tag verknüpft. Die Rückschreibe-Option muss auch für die zweite Measure-Gruppe aktiviert werden.

Abb. 3: Measure-Gruppe Tagesverteilung

Berechnung der Verteilungsfaktoren

Damit die Monatswerte auf Tagesebene verteilt werden, muss jeder Tag des Monats einen Faktor enthalten, wobei die Summe aller Tagesfaktoren des Monats 1 bzw. 100% beträgt.
Für unser Beispiel sollen nur die Arbeitstage berücksichtigt werden. Hierfür wurde die View V_Import_DIM_Periode erstellt, in der alle Arbeitstage der Periodentabelle durch die Modeler-Funktion dbo.F_BC_Holiday gekennzeichnet werden. Außerdem wird eine Umsatzverteilung nach Wochentagen verwendet (s. Abb. 1). Die ganze Berechnung wird in der View V_Import_FACT_Tagesverteilung realisiert, welche wiederum die Quelle der Measure-Gruppe Tagesverteilung ist.

ALTER VIEW [dbo].[V_Import_FACT_Tagesverteilung]
AS
SELECT
-- Dimensions
CONVERT(DATE, Periode) TagID,

-- Measures
wv.Verteilungsfaktor
*
CONVERT(FLOAT,1) / SUM(wv.Verteilungsfaktor) OVER (PARTITION BY YEAR(p.Periode), MONTH(p.Periode))
AS Verteilungsfaktor

FROM
V_Import_DIM_Periode p

LEFT JOIN T_S_Wochenverteilung wv
ON dbo.F_BC_DateID('dw', p.Periode, 0) = wv.Wochentag

WHERE
p.IstArbeitstag = 1

Nach der Berechnung der Verteilungsfaktoren wird das Muster der Wochenverteilung (s. Abb. 1) sichtbar.

Abb. 4: Muster Verteilungsfaktor

Die Verteilungsfaktoren können auch auf Basis von Ist-Werten oder anderer Kriterien berechnet werden.

Berechnung der Tageswerte

Die Tageswerte werden durch eine SCOPE-Anweisung im Cube-Skript berechnet.

SCOPE (
[Periode].[Periode].[Tag].MEMBERS,
[Measures].[Umsatz]
);
THIS = [Measures].[Umsatz] * [Measures].[Verteilungsfaktor];

END SCOPE;

Das Ergebnis sieht dann folgendermaßen aus:

Abb. 5: Tagesverteilung

Dateneingabe

Die Eingabe der Werte soll auf Monats- und Tagesebene erfolgen. Damit dies möglich ist, muss in DeltaMaster die Wertweitergabe für die Kennzahl „Umsatz“ konfiguriert werden. Für Eingaben auf Monatsebene oder höher soll der Wert auf „Umsatz“ geschrieben werden, für Eingaben auf Tagesebene wird ein neuer „Verteilungsfaktor“ berechnet.

Abb. 6: Wertweitergabe für „Umsatz“

Da die Summe der Monatsfaktoren immer 100% ergeben soll, wird die Zellfixierung für den Monatswert aktiviert. Danach können die Tageswerte beliebig angepasst werden.

Abb. 7: Dateneingabe auf Tagesebene