Der Einstieg in die Thematik der Arbeits- und Feiertage
Manche Berechnungen benötigen ein spezielles Augenmerk darauf, ob gewisse Prozesse an einem Arbeitstag stattfanden, auf einen Feiertag gefallen sind oder sonst anderweitig außerhalb der regulären Geschäftszeiten lagen. Um derartige Ereignisse für unser Datenmodell richtig abzubilden müssen wir ein paar kleine Modifikationen an unserer Kalendertabelle d_Kalender durchführen. Diese ermöglichen es uns später, spielend Arbeitstage oder Feiertage zu berücksichtigen. Genug der Rede, auf in die Dimensionstabelle.
Warum ändern wir d_Kalender?
Das tolle an dem Power Pivot Datenmodell und ähnlichen Strukturen ist die Flexibilität, die wir uns mit der Änderung von d_Kalender in das gesamte Modell einkaufen. Die Änderungen, die wir in wenigen Augenblicken vollziehen werden, ermöglichen es uns, jede verknüpfte Tabelle, nach den Filterkriterien zu filtern und unsere Ergebnisse dahingehend zu beeinflussen. In der nicht allzu fernen Vergangenheit unseres Excel-Lebens, also vor Power Pivot, musste man sich die Änderungen per Sverweis in alle Tabellen, die man nach Feiertagen analysieren wollte, hineinziehen und konnte dann beginnen. Heutzutage ändern wir es einmal und alles kann gefiltert werden!
Mehrere neue Spalten in unserer Datumstabelle (Arbeitstage, Feiertage pro Bundesland)
Am Ende unserer Tabelle sind vier neue Spalten entstanden:
- Arbeitstag: Hier wird ein “WAHR” zurückgegeben wenn es sich um einen “klassischen” Arbeitstag handelt (Mo-Fr)
- Feiertag: Hier werden die Feiertage ausgegeben, die es in Deutschland gibt
- Bundesland: Die Bundesländer, die den ausgewiesenen Feiertag gewonnen haben werden in ihrer Langform dargeboten
- Bundesland Kurz enthält die Abkürzungen der jeweiligen Länder
Wichtiger Punkt zwischendurch. Wenn Sie mit Datenmodellen und deren Tabellen arbeiten fügen Sie neue Spalten bitte immer an das rechte Ende einer Tabelle. Es kommt vor, dass mittig platzierte Spalten zu Problemen bei der Datenauslese bereits vorhandener Tabellen des Modells führen können. Leiten Sie diese Info auch gerne an ihre IT Abteilung weiter, wenn diese Abfragen in SAP oder Oracle ändern! Hilft ungemein.
Update der Tabelle im Datenmodell
Um die aktualisierten Daten auch ins Modell zu bringen, müssen wir wie gewohnt unseren Weg über Power Query nehmen. Hierzu wählen wir zunächst Abfragen und Verbindungen und gehen dann per Bearbeiten in die Power Query Oberfläche
Wenn wir diese Schritte vollzogen haben, landen wir da wo wir hingehören, im Power Query Editor, in dem wir nun die Ansicht von d_Kalender aktualisieren möchten, sodass wir die neuen Spalten auch an dieser Stelle sehen.
Die Aktualisierung hat den gewünschten Erfolg gehabt und wir sehen was wir sehen wollen. Lassen Sie uns die Änderungen nun mit Schließen & Laden in abschließen, sodass wir endlich ein Measure erstellen können.
Erzeugen eines Measures, dass uns Auftragsmengen an Feiertagen aufzeigt
Um unsere Kunden ein bisschen zu sensibilisieren, dass Sie uns doch bitte keine Auftragsmengen an Feiertagen einlasten, hat sich der Feinkosthandel Rheinland überlegt mit einer Analyse herauszufinden welche Mengen wir an solchen, im Rheinland besonderen, Tagen vorliegen hatten. Im Zuge des alljährlichen Weihnachtskärtchens sollen die Kunden eine dementsprechende Nachricht erhalten und uns somit in den kommenden Jahren entgegenkommen. Sicherlich können wir mit unserer Datenbasis herausfinden, welche Kunden es waren, die uns belästigt haben. Da wir aber keine Denunziationskampagne starten wollen, wird die Weihnachtskarte generell gehalten.
Wir springen in die PowerPivot Oberfläche um unser Measure zu formulieren. Die Basics, wie man Measures erstellt habe ich detailliert in meinem E-Book beschrieben. Falls Sie sich noch nicht sicher im Umgang fühlen, schauen Sie doch mal vorbei und überlegen, ob Sie Grundlagenwissen benötigen.
Unser neues Measure soll ORD_ST_FeierT heißen und wie bereits erwähnt die Mengen an Feiertagen in NRW und auf Bundesebene auswerfen. Die Formel sieht wie folgt aus:
=
CALCULATE (
[ORD_ST];
FILTER (
d_Kalender;
SEARCH ( “NW”; d_Kalender[Bundesland Kurz];; BLANK () ) > 0
|| SEARCH ( “DE”; d_Kalender[Bundesland Kurz];; BLANK () ) > 0
)
)
Gehen wir wie gewohnt kurz durch was da zum Besten gegeben wurde. Wie üblich nehmen wir ein bereits vorhandenes Measure ([ORD_ST]) als Grundlage unser weiterführenden Berechnung. Wir wenden FILTER auf unsere Kalendertabelle d_Kalender an. Wie bei Dimensionstabellen üblich werden sich diese Filter entlang der Beziehungen zwischen den Tabellen ausbreiten und somit unsere Fact-Tabelle Sales filtern, sodass am Ende hoffentlich nur die Werte an den Feiertagen übrig bleiben.
Vielleicht kennen Sie die Funktion “SUCHEN” aus dem herkömmlichen Excel. PowerPivot hat seine eigene Variante mit zur Party gebracht und genau diese benötigen wir nun. Wir suchen in der Spalte d_Kalender[Bundesland Kurz] nach NW und DE. Das bedeutet, dass wir alle bundesweiten sowie die speziell für NRW anfallenden Feiertage ermitteln möchten. Die beiden senkrechten Striche || stellen dabei ein “ODER” dar und verketten somit die beiden Suchtermini.
Für 2018 würde das Bild so aussehen:
Sicherlich kann man den Spieß auch umdrehen und ermitteln wie viel Auftragsmengen an regulären Arbeitstagen vorhanden waren. Aber das überlasse ich an dieser Stelle Ihnen, sodass der ganze Spaß nicht auf meine Kosten geht.
Bleiben Sie neugierig!
No responses yet