Der BI-Prozess mit Daten als Input und der Informationsgewinnung als Output kann als Prozess betrachtet und gesteuert werden. Prozesse spielen in DeltaMaster-Projekten eine wichtige Rolle. Oft ergeben sich währen der Projektlaufzeit Fragen, wie: Werden die Daten automatisiert aktualisiert? Können Prozesse von DeltaMaster-Usern angestoßen werden? Wie können Monitoring-Prozesse eingebaut werden? Wie lässt sich unser Logistikprozess in DeltaMaster abbilden? Dieser Blogbeitrag gibt eine Übersicht über mögliche Prozesssteuerungsverfahren, aber auch wie Prozesse in DeltaMaster abgebildet werden können. Abschließend wird auf die Verteilungsprozesse in DeltaMaster eingegangen.
Allgemein
(Geschäfts-)Prozesse sind Aufgaben und Tätigkeiten, die von Mitarbeitern oder Maschinen durchgeführt werden. Input und Output stellen die Konstanten in einem Prozess dar. Je reibungsloser die Schritte zwischen Input und Output durchgeführt werden, desto wirtschaftlicher kann der Prozess eingestuft werden. Mit Hilfe von IT-Anwendungen können Prozesse standardisiert und automatisiert werden. Die Vielzahl der Prozesse fordert eine umfassende Steuerung.
In diesem Beitrag werden zum einen Stellschrauben vorgestellt, mit denen der DeltaMaster-ETL-Prozess gesteuert werden kann. Zum anderen werden Beispiele der Prozessvisualisierung dargelegt, die neben fachlichen Prozessen und Monitoring Prozessen in DeltaMaster abgebildet werden können. Abschließend wird auf die Verteilungsprozesse der DeltaMaster Module Repository und Publisher eingegangen.
Prozesssteuerung
DeltaMaster ETL beinhaltet nicht nur den ETL-Prozess, sondern auch den Aufbau des Datenmodells gemäß der parametrierten Metadaten. Leistungsfähige Prozeduren ermöglichen es, Modelle einfach und standardisiert zu erstellen und zu dokumentieren. Der hohe Grad der Standardisierung ermöglicht, dass an definierten Stellen projektspezifische Anpassungen vorgenommen werden können. Einerseits können Prozesse bei der Modellerstellung hinterlegt werden, andererseits kann die Befüllung des Modells gesteuert werden.
Generierungsprozesse
Bei der Erstellung des Datenmodells (relational und OLAP) können die Prozesse individuell angepasst werden.
Relationales Datenmodell
Die gleichnamigen Prozeduren mit dem Suffix _PreProcess und _PostProcess werden für jeden Prozess angelegt, der durch Anpassungen vor und nach der jeweiligen Prozessausführung spezifiziert werden kann.
Bei der Erstellung des relationalen Schemas (Create Relational Model) kann in der vor- und nachgelagerten Prozedur eine Prozessanpassungen vorgenommen werden:
• P_BC_CreateSnowflake_PreProcess
• P_BC_CreateSnowflake_PostProcess
Bei Erweiterungen des Datenmodells kann beispielsweise eine Backup-Routine im vorgelagerten Prozessschritt (P_BC_CreateSnowflake_PreProcess) hinterlegt werden. Bevor das relationale Datenmodell neu aufgebaut wird, kann somit z. B. das existierende relationale Datenmodell gesichert werden. Mit dieser Routine kann der Wiederherstellungsprozess gesteuert werden, ohne, dass manuell eine Sicherung der Datenbank erstellt werden muss.
Bei der Befüllung des Modells (Fill Relational Schema) können folgende Prozessschritte angepasst werden:
• P_Transform_00_PreProcess
• P_Transform_99_PostProcess
Ein gängiges Beispiel hierfür ist die Vorbefüllung der Zeit-Dimension. Bei der Erstellung der Metadaten kann ein Zeitraum für die Befüllung der Periode festgelegt werden. Im Laufe des Projektes sollte diese Routine die Elemente automatisch in die Zukunft fortschreiben, ohne dass manuelle Schritte notwendig sind. Eine einfache Füllroutine in Form einer Prozedur, die im Prozessschritt P_Transform_00_PreProcess hinterlegt wird, kann diesen Aktualisierungsschritt automatisieren. Zur Verbesserung der Performance kann als weiteres Beispiel die Materialisierung der Views (TMVs) im Prozessschritt PreProcess eingebaut werden. Im Prozessschritt P_Transform_99_PostProcess können Folgeprozesse hinterlegt werden, die nur nach einer erfolgreichen Datenverarbeitung angestoßen werden.
OLAP-Datenbank
Die Strukturen der OLAP-Datenbank werden im Schritt Create OLAP-Database aufgebaut. Nach dem Deploy können nachträgliche Änderung an MSAS-Objekten (XMLA) und im Cubeskript (MDX) vorgenommen werden. Bei der Aktivierung des XMLA Skripts („Enable Customer XMLA Script“ im Bericht OLAP Parameters) wird das in der Tabelle T_Model_XMLA_Script gesicherte XMLA-Script nach dem Deploy ausgeführt. Das Cubeskript ist in MSAS standardmäßig enthalten, multidimensionale Berechnungslogiken können hier hinterlegt werden. Ein einfaches Beispiel kann hierfür die Kumulation (Endloskumulation) des Bestandes sein. Mit einem einfachen MDX-Ausdruck lässt sich diese Berechnungslogik im Cubeskript hinterlegen. Bei jeder Neuerstellung der OLAP-Datenbank wird dieses Skript von DeltaMaster ETL gespeichert und wiederhergestellt.
Ladeprozesse
Der DeltaMaster ETL-Prozess kann, aufgrund seines hohen Standardisierungsgrades, bereits größtenteils automatisiert werden. Einige Stellschrauben erlauben es dennoch, spezifische Anpassungen vorzunehmen. In folgendem Abschnitt werden die drei Prozessschritte (Extract, Transform und Load) genauer betrachtet und Möglichkeiten der Prozessteuerung des ETL-Prozesses vorgestellt.
Extract
Über Verbindungsserver, SSIS- Pakete etc. werden die Daten bereits automatisiert in die Datenbank geladen. Mit dem PackageCreator von DeltaMaster ETL können SSIS-Pakete auf Knopfdruck erzeugt werden. Dieser automatisierte Prozessschritt vereinfacht die Paketerstellung ungemein.
In Kundenprojekten wird oft danach gefragt, ob Endanwender Daten auch manuell importieren oder den Datenimport manuell starten können. Mit dem Zusatzmodul CustomApp können diese Prozesse direkt aus DeltaMaster gestartet werden. Zum Beispiel können Endanwender Excel-Tabellen manuell im (Web-)Client hochladen. Diese bereitgestellten Daten werden zum einen in der Datenbank gespeichert, zum anderen können diese Daten gleich weiterverarbeitet oder in DeltaMaster ausgewertet werden.
Hinter den einzelnen Aktionen stehen Prozeduren, die aufgerufen werden. Dies ermöglicht es, die Importe oder Stammdatenveränderungen bereits bei der Eingabe zu validieren und zu plausibilisieren.
Transform
Sobald alle strukturierten und unstrukturierten Daten aus den Systemen exportiert und in die Datenbank importiert wurden, können Prozesse etabliert werden, die die Konsistenz der Stammdaten gewährleisten. Pflegeanwendungen zum Thema Stammdaten können beispielsweise Mappings beinhalten, die Kundendaten mit unterschiedlichen Kundennummern zu einer Nummer gruppieren.
Load
Mit Hilfe der SQL Server Agent Komponente oder der Windows Aufgabenplanung kann die Datenaktualisierung der relationalen sowie auch der OLAP-Datenbank automatisiert werden.
Oft gibt es aber auch die Anforderung, dass Partitionen der OLAP-Datenbank in einem kürzeren Zyklus aktualisiert werden müssen. Diese Zyklen können in Form von inkrementellen Ladeprozessen hinterlegt werden. Der Ladeprozess kann sowohl zeitgesteuert als auch aktionsgesteuert angestoßen werden. Eine detaillierte Vorgehensweise finden Sie in den Blogbeiträgen Der kleine Prozess zwischendurch und Datenladen auf Anforderung – ein Überblick.
Prozessdokumentation
Mit Hilfe der DeltaMaster-ETL-Komponente Documenter kann eine vollautomatisierte Datenflussdokumentationen erstellt werden. Die Dokumentation reicht von der obersten Schicht, dem Snowflake-Schema, bis zu den darunterliegenden Quellen, den SSIS-Ladepaketen. Eine fortlaufende Dokumentation aller zugrundeliegender Tabellen, Views, Prozeduren, Objektverweise (per Synonym oder Cross-Datenbank-Zugriff) und SSIS-Pakete ist somit auf Knopfdruck verfügbar.
Prozesse in DeltaMaster
Neben den klassischen Reporting-Fragestellungen können in DeltaMaster auch Themen der Prozesssteuerung dargestellt werden. Definierte Messgrößen können Prozesse kontrollieren und Ausreißer aufdecken. Beispielsweise können Ausreißer in Durchlauf- oder Bearbeitungszeiten ermittelt werden. Aber auch Testergebnisse in der Produktion können überwacht werden. Fehlerquoten können ad-hoc analysiert werden, um schnell auf Probleme reagieren zu können. Nicht nur Prozesscontrolling ist möglich, in DeltaMaster können auch Prozesse visualisiert, durchgeführt und überwacht werden.
Prozessvisualisierung
Mit Hilfe von Verknüpfungen und einem geeigneten Filter-/Navigationskontext können definierte Prozesse in DeltaMaster abgebildet werden. Die Berichtsempfänger werden mit gezielten Konfigurationen des Berichtserstellers durch den Analyseprozess geleitet.
Folgende Abbildung zeigt die Prozessvisualisierung in DeltaMaster an einem vereinfachten Produktionsprozess. Mit Hilfe von vordefinierten Navigationsschritten, die als Netzwerk behandelt werden, können diese Fragestellungen in DeltaMaster visualisiert werden.
Der Produktionsprozess der Sahnetorte (Zielprodukt) wird mit Hilfe von Rezeptschritten (Vorgang Produktion) und den benötigten Zutaten (Quellprodukte) erstellt. Der Prozess könnte in diesem Beispiel noch detaillierter dargestellt werden, wenn man beispielsweise die verschiedenen Vorgänge, wie Rühren und Backen, mit einbezieht.
Ein umfangreiches Beispiel zur Abbildung einer Wertschöpfungskette in DeltaMaster wird im Beitrag Wertschöpfungsketten in DeltaMaster abbilden beschrieben.
Fachliche Prozesse
Die Planung in DeltaMaster kann als fachlicher Prozess angesehen werden. Dieser Planungsprozess ist in der Praxis oft sehr komplex, hochindividuell und von zahlreichen Faktoren abhängig. Durch gezielte Routinen zur Automatisierung können komplexe Planungsprozesse erleichtert werden. Eine parametrisierte Vorbefüllung der Planungsrunden vereinfacht und beschleunigt den Prozess zunehmend. Weitere fachliche Prozessbeispiele zum Themengebiet Planung werden im Folgenden aufgelistet:
• Planungsrunden öffnen/schließen
• Freigaben von Planungsrunden
• Wertverteilung auf untere Ebenen
• Vorschlagswerte für neue Planungsrunden
• Benachrichtigungen, wenn Planungsrunde abgeschlossen
Prozessmonitoring
Prozesse können nur optimiert werden, wenn die Überwachung schnell und aussagekräftig Diskrepanzen aufdeckt. In der DeltaMaster-ETL-Anwendung gibt es einen eigenen Ordner mit Monitoring-Berichten. Diese Berichte decken Fehler in den Daten-Befüllung-Routinen auf, aber auch die Performance der Befüllung wird gemessen. Auf den ersten Blick werden somit sofort Langläufer im Prozess lokalisiert. Mit dieser Information können effektiv Maßnahmen eingeleitet werden, die zu einer effizienten Prozessverbesserung führen. Ein strukturierter Prozess der Fehleranalyse kann im Beitrag Strukturierte Fehlersuche beim Datenladeprozess nachgelesen werden.
Verteilungsprozesse
Die DeltaMaster-Module Repository und Publisher können die Informationen gezielt zur Verfügung stellen. Sowohl im (Web-) Client, als auch in den Apps DeltaMaster App und Bissantz DashBoard können die Analysen den Berichtsempfängern automatisiert bereitgestellt werden.
Pull Prinzip
DeltaMaster Repository dient als zentrale Komponente der automatisierten Bereitstellung von standardisierten Analysesitzungen. Aufgrund von Schreibzugriffen ist ein konsistenter Anwendungsstand gewährleistet. Mit Hilfe von Repositoryabonnements (Beitrag Repositoryabonnement) können Master-Anwendungen Änderungen an Slave-Anwendungen weitergegeben werden. Somit entsteht kein Mehraufwand und es wird gewährleistet, dass alle Berichtsempfänger von den gleichen Zahlen sprechen.
Die Zuordnung von Usern oder AD-Gruppen zu Anwendergruppen und den entsprechenden Rollen ermöglicht die Steuerung der Berichtsverteilung. Detailliertere Berechtigungen können in den Ordnerberechtigungen gesetzt werden.
Push Prinzip
Die Berichtsverteilung im Modul Publisher (Job-Speicherung in MSSQL-DB oder lokaler MDB)
kann bereits zu einem hohen Grad automatisiert werden. Über den SQL Server Agent, die Aufgabenplanung oder den Bissantz Service können Berichte in verschiedensten Formen zeitgesteuert verteilt werden.
Auch das Exception Reporting ist Teil der Prozesssteuerung. Anhand von Bedingungen/Ergebnissen kann der Versand eines Berichtes angestoßen werden. Beispielsweise können Berichte nur versendet werden, wenn Schwellwerte überschritten werden oder Monitoring-Berichte mit fehlerhaften Datensätzen gefüllt sind. Folgende Verfahren können hierfür verwendet werden:
• Berichtsgenerator: dynamisches MDX-Set mit gewünschter Bedingung erstellen
• Einzelnen Bericht über Eigenschaften vom Export ausschließen
• SQL-Aktualisierungsbefehl anwenden
Der Beitrag Exception Reporting mit dem Berichtsserver beschreibt das heiß umstrittene Thema Exception Reporting genauer.
Fazit
Es gibt in BI-Projekten mit DeltaMaster eine Vielzahl an Möglichkeiten der Steuerung und Visualisierung von Prozessen. Anhand von Anwendungsbeispielen wurde in diesem Beitrag ein Überblick über mögliche Prozesssteuerungsverfahren gegeben. Die jeweilige Umsetzung ist in den meisten Fällen sehr individuell auf das Projekt zugeschnitten. Kundenspezifische Prozesse finden in jedem DeltaMaster-Projekt ihren Einsatz. Fragen Sie doch mal Ihren Ansprechpartner von Bissantz, welche Prozesse bei Ihnen noch optimiert werden können. Haben Ihre Prozesse auch Optimierungsbedarf? Sprechen Sie uns gerne an!