Bereits in den clicks! 09/2005 und im Blogbeitrag „Deckungsbeitragsflussrechnung“ vom August 2012 wurde die Deckungsbeitragsflussrechnung (DB-Flussrechnung) erläutert. Der in DeltaMaster integrierte Assistent zur Erstellung der benötigten Kennzahlen lässt eine rasche Analyse bei überschaubar großen Dimensionen zu. Prinzip-bedingt (die Kennzahlen werden zur Laufzeit berechnet) kommt diese Vorgehensweise bei großen Dimensionen schnell an ihre (Performance-)Grenzen. Zudem ist eine gleichzeitige Betrachtung mehrerer Dimensionen (z. B. Kunden und Artikel) leider nicht möglich. Wir haben uns Gedanken gemacht und heraus kam die relationale Deckungsbeitragsflussrechnung, die in diesem Blogbeitrag vorgestellt wird.
Abwägung der Vor- und Nachteile
Funktionsweise und Vorbereitungen
Die relationale DB-Flussrechnung basiert auf einer bereits fertig befüllten Faktentabelle. Diese stellt die zugrunde liegenden Basiswerte und die maximal mögliche Granularität bereit.
Im Beispiel wurde für die DB-Flussrechnung für einen Vorperiodenvergleich aufgebaut. Natürlich ist sie auch mit einem Wertartenvergleich möglich.
Da die Vorberechnung sehr ressourcenintensiv ist, werden nur als relevant definierte Perioden verglichen. Die relevanten Vergleiche werden in der Dimension Indexvergleichsperiode definiert. Dazu werden in einer Tabelle die gewünschte Bezeichnung und jeweils Start und Ende der Ausgangs- und der Vergleichsperiode festgelegt. Nur für diese Vergleiche werden Berechnungen durchgeführt und abgelegt.
Für die Betrachtung wird eine neue Dimension Sortimentmix erstellt. Sie enthält alle Vergleichsoptionen und muss in enger Abstimmung mit der Fachabteilung erstellt und gepflegt werden.
Mit Hilfe von drei Abfragen wird die neue Faktentabelle gefüllt.
Die erste Abfrage bildet die Klammer und wird zur Befüllung der Faktentabelle aufgerufen Mit der Filter-Abfrage ist es möglich, gewisse Konstellationen von der Berechnung auszuschließen. Beispielhaft seien in diesem Zusammenhang innerbetriebliche Lieferbeziehungen genannt, welche die DB-Flussrechnung oftmals negativ beeinflussen. Es erfolgt eine Zuordnung der Werte zu den Elementen der neuen Dimension Sortimentmix.
--5 Union nach matchingtype
--1a: Pos. Menge in AP und VP aus V_Import_Fact_VK_Index_Filter =>
Indexberechnung
--1b: Neg Menge in AP ODER VP aus V_Import_Fact_VK_Index_Filter =>
kein IB
--2: keine AP ohne Ausschluss => keine IB
--3: keine VP ohne Ausschluss => keine IB
--Union1a: pos. Menge in AP und VP und Filter = OK
Select --top 1000
case when WU_VP <> 0 and (WU_AP - ((WU_VP/ME_VP) * ME_AP)) / ((WU_VP/ME_VP) * ME_AP) >= 0 and ME_AP-ME_VP >= 0 then 11
when WU_VP <> 0 and (WU_AP - ((WU_VP/ME_VP) * ME_AP)) / ((WU_VP/ME_VP) * ME_AP) >= 0 and ME_AP-ME_VP < 0 then 12
when WU_VP <> 0 and (WU_AP - ((WU_VP/ME_VP) * ME_AP)) / ((WU_VP/ME_VP) * ME_AP) < 0 and ME_AP-ME_VP >= 0 then 13
when WU_VP <> 0 and (WU_AP - ((WU_VP/ME_VP) * ME_AP)) / ((WU_VP/ME_VP) * ME_AP) < 0 and ME_AP-ME_VP < 0 then 14
else 55 --Umsatz VP = 0
end as Sortimentmix, --matching, aber keine Indexberechnung
Abb.4: Zuordnung der berechneten Werte zum Sortimentmix (Ausschnitt)
Alle zuvor nicht berücksichtigten Werte werden mit der Rest-Abfrage (unberechnet) in die Faktentabelle durchgereicht. Damit ist sichergestellt, dass der Anwender jederzeit auch die Gesamtheit der Basiswerte betrachten kann.
----------------------------
--Indexwerte
----------------------------
--Preisindex
(WU_VP/ME_VP) --Preis VP
* ME_AP as Preisindex_Nenner, --Index_1,
WU_AP - ((WU_VP/ME_VP) * ME_AP) as Preisindex_Zähler, --Index_2
--Kostenindex
(KO_VP/ME_VP) --MatStkKosten VP
* ME_AP as Kostenindex_Nenner,
KO_AP - ((KO_VP/ME_VP) * ME_AP) as Kostenindex_Zähler ,
--ErgebnisIndex
(DB_VP/ME_VP) --DB/Stk VP
* ME_AP as Ergebnisindex_Nenner,
(DB_AP) - ((DB_VP/ME_VP) * ME_AP) as Ergebnisindex_Zähler ,
----------------------------
--Wertkomponente
----------------------------
--Preiseffekt2a
(WU_AP/ME_AP*ME_VP) - WU_VP as Werteeffekt_Preis,
--Kosteneffekt2a
(KO_AP/ME_AP*ME_VP) - KO_VP as Werteeffekt_Kosten,
--Ergebniseffekt2a
(DB_AP/ME_AP*ME_VP) - DB_VP as Werteeffekt_Ergebnis,
----------------------------
--gemischter Einfluss
----------------------------
--Preiseffekt2b
Abb. 5: Alle Einzelwerte werden berechnet und in einer neuen Faktentabelle abgelegt (Ausschnitt)
Alles Weitere ist bereits bekannt:
- Anlegen der neuen Dimensionen und der neuen Measuregroup in DeltaMaster Modeler
- Create Snowflake – Transform – Deploy & Process
Ergebnis
Die Ergebnisse unserer Vorbereitungen können dann wie gewohnt schnell und anschaulich in DeltaMaster visualisiert werden. Dabei ist eine Auswertung über alle Dimensionen der ursprünglichen Faktentabelle möglich.
P.S.: Die diesen Beispielen zugrunde liegende Demo finden Sie im Zusatzmaterial oder erhalten Sie auf Anfrage bei uns.