Excel-Tool-Box Version 1.1. veröffentlicht

Heute haben wir unsere Excel-Tool-Box Version 1.1. veröffentlicht. Neu in dieser Version sind vor allem das Serien-Email-Tool und die digitale Code-Signierung für noch mehr Sicherheit.

Serien-Mail-Tool

Excel-Tool-Box Version 1.1.

Dieses Tool, das neu in der Version 1.1. zu unserer Tool-Box hinzugefügt wurde, erlaubt die Erstellung personalisierter Serien-Emails über Outlook. Die Konfiguration der Empfängerinnen / Empfänger und ihrer individuellen Daten-Felder erfolgt dabei in Excel. Als besonderes High-Light können auch individuelle Anhänge definiert werden. So ist es beispielsweise möglich, die Daten einer großen Excel-Tabelle mit Hilfe des Cutting-Tools in einzelne Dateien aufzuteilen und diese dann automatisiert an die jeweiligen Adressaten zu versenden.

Digitale Code Signatur

Um die Sicherheit unserer Excel-Tool-Box zu erhöhen haben wir sie nun digital signiert. Dadurch wird sichergestellt, dass es sich um den Original-Code von uns handelt und er nicht durch Dritte verändert wurde. Um die Echtheit des Codes zu verifizieren liegt dem Download ein digitales Zertifikat bei, das Sie auf Ihrem Rechner installieren können, um die Echtheit und Unversehrtheit des Codes zu überprüfen.

Dies kann vor allem dann erforderlich werden, wenn die Sicherheitseinstellungen in Ihrem Unternehmen so angepasst wurden, dass nur digital signierte Makros in Ihren Office-Produkten ausgeführt werden können.

Laden Sie zu Ihrer eigenen Sicherheit immer nur die jeweils aktuellste Version der Tool-Box von unserer Webseite herunter – so können Sie sicher sein, dass kein Schad-Code oder Virus enthalten ist.

Ausblick

Aber mit der Excel-Tool-Box Version 1.1. ist natürlich noch nicht Schluss. So arbeiten wir bereits heute an der nächsten Version, die unter anderem ein Tool zum Zusammenführen von Einzel-Dateien beinhalten wird. Zusätzlich wird es auch ein neues Werkzeug geben, um eine große Tabelle auf einzelne Blätter aufzuteilen. Erste Screenshots hierzu gibt es bereits. Die Bedienung ist ähnlich der des Cutting-Tools zum Erstellen einzelner Dateien. Wer also schon mal damit gearbeitet hat, wird sich im Handumdrehen auch in diesem neuen Helfer zurecht finden.

Aufteilen einer Tabelle

Eine typische Routine-Aufgabe im Excel-Alltag ist das Aufteilen einer Tabelle in einzelne Blätter anhand des Inhalts einer Spalte. Um diese Aufgabe zu automatisiert, haben wir ab der Version 1.2. (verfügbar ab Ende Februar 2023) ein passendes Werkzeug zu unserer Toolbox hinzugefügt.

Aufteilen einer Tabelle

Nach dem Aufruf des Tools, über die Schaltfläche „Tabelle aufteilen“ im Haupt-Menü der Werkzeugsammlung, führt Sie ein Assistent durch die erforderlichen Schritte.

Die Verwendung ist dabei sehr ähnlich zu der des Tools zum Schneiden von Excel-Dateien. Der Hauptunterschied liegt in der Tatsache, dass keine neuen Dateien sondern individuelle Blätter in der Original-Mappe erzeugt werden. Wer schon mal mit dem Cut-Tool gearbeitet hat, wird sich deshalb schnell im Tool zum Aufteilen einer Tabelle zurecht finden.

Aufteilen einer Tabelle

Schritt 1

Im ersten Schritt muss die Quell-Datei ausgewählt werden. Klicken Sie hierzu auf die Schaltfläche mit den 3 Punkten rechts neben „zu schneidende Datei:„. Nachdem Sie eine Datei ausgewählt haben, erscheint der vollständige Pfad zur Datei in der entsprechenden Textbox. Bitte beachten Sie, dass nur Dateien im Excel 365 Format (*.xlsx, *.xlsm und *.xlsm) geschnitten werden können.

Wenn Die Datei passwortgeschützt ist, dann geben Sie im entsprechenden Eingabefeld bitte auch das Passwort mit an.

Klicken Sie anschließend auf „weiter >>>“ um zum nächsten Schritt zu gelangen.

Aufteilen einer Tabelle

Schritt 2

Hier erhalten Sie eine Auflistung aller Arbeitsblätter, die in der ausgewählten Datei vom Assistenten gefunden worden sind. Wählen Sie bitte das Blatt aus, das die Daten enthält, die geschnitten werden sollen und klicken Sie auf „weiter >>>„.

Aufteilen einer Tabelle

Schritt 3

Nun müssen Sie angeben, in welcher Zeile auf dem Datenblatt sich die Spaltenüberschriften befinden. Diese werden dann im nächsten Schritt benötigt. Klicken Sie nach Eingabe des korrekten Wertes wieder auf „weiter >>>„.

Aufteilen einer Tabelle

Schritt 4

In diesem Schritt zeigt Ihnen das Cutting Tool alle in der angegebenen Zeile gefundenen Spaltenüberschriften an. Wählen Sie bitte diejenige aus, die die Daten enthält, nach denen geschnitten werden sollen. Nach einem Klick auf „weiter >>>“ analysiert der Assistent nun die ausgewählte Spalte. Je nach Umfang der Daten kann dieser Vorgang einen Moment in Anspruch nehmen.

Aufteilen einer Tabelle

Schritt 5

Sobald der Assistent seine Analyse beendet hat, zeigt er Ihnen eine Liste aller Werte, die er in der angegebenen Spalte gefunden hat. Diese dient später als Grundlage für die Erstellung der einzelnen Tabellen-Blätter. Wenn Sie für einen Wert keine Blatt erzeugen wollen, wählen Sie die Spalte aus und klicken Sie auf „löschen“. Dies hat keine Auswirkung auf die Gesamt-Tabelle – die Daten werden also nicht wirklich gelöscht sondern es wird einfach nur kein extra Blatt für diesen Wert.

Nach dem Anpassen der Liste bitte wieder auf „weiter >>>“ klicken.

Aufteilen einer Tabelle

Schritt 6

Sie können nun festlegen, was das Tool tun soll, wenn es bereits Blätter mit einem identischen Namen in der Mappe gibt. Die Standard-Option ist, dass diese durch die neuen Blätter überschrieben werden. Wenn Sie dies nicht möchten, können Sie den entsprechenden Haken entfernen. Das Tool wird dann eine Nummer an den Blattnamen anhängen – also beispielsweise „Schnitt 1“, falls es bereits ein Blatt „Schnitt“ gibt.

Das Tool wird versuchen, die Blätter beim Schneiden zu sortieren um den Vorgang zu beschleunigen. Dies ist – abhängig von der Struktur der Quelldatei – manchmal nicht möglich. In diesem Fall bitte den Haken bei „verwende Vorsortierung“ entfernen. Dies führt jedoch zu einer deutlich längeren Laufzeit beim Aufteilen. Wählen Sie diese Option also nur ab, wenn es beim Schneiden mit gesetztem Haken Probleme gibt oder Sie bereits wissen, dass die Quell-Datei sich nicht sortieren lässt.

Wenn alle Konfigurationen abgeschlossen sind, klicken Sie bitte ein letztes Mal auf „weiter >>>„.

Aufteilen einer Tabelle

Schritt 7

Nun aktiviert sich die Schaltfläche „OK„. Nach einem Klick hierauf startet die Blatt-Erstellung. Im Ausgabefenster erhalten Sie eine Ausgabe, wie viele Cuts erstellt werden und bei welchem Schritt sich das Tool aktuell befindet. So können Sie in etwa den Zeitaufwand abschätzen, der bis zum Abschluss erforderlich ist.

Tableau + MS SQL Server

Es gibt viele unterschiedliche Paradigmen, wie und warum man die Daten für eine BI Anwendung mit Tableau so oder so aufbereiten und speichern soll. Embedded oder Live Connection, Tableau PREP oder ein externes ETL Tool und so weiter. Natürlich entscheidet letztlich der konkrete Anwendungsfall über die finale Ausgestaltung der Lösung. Jedoch ist unser persönlicher Favorit in den meisten Fällen eine Kombination aus Tableau + MS SQL Server.

Warum Tableau + MS SQL Server?

Die Kombination aus Tableau und Datenbank-Server bietet aus unserer Sicht 3 wesentliche Vorteile, die in den Bereichen

liegen. Lassen Sie uns nun einen Blick auf die einzelnen Teilbereiche werfen.

Security mit Tableau + MS SQL Server

In den meisten BI-Anwendungen gehen wir mit sensiblen Daten um. Deshalb ist Data-Security immer ein wichtiges Thema. Wir müssen uns also überlegen, wo wir den Sercurity-Layer anlegen.

Security in Tableau

Eine Möglichkeit ist, diesen direkt in Tableau zu implementieren. Die Konfiguration erfolgt dabei über ACL’s (Access Configuration Lists), die in Windows angelegt und gepflegt werden. Genauer gesagt im sogenannten „Active Directory“.

Diese Lösung hat jedoch eine Reihe von Problemen. Zum Einen muss für jedes mögliche Teilpaket an Daten, für die ein Benutzer / eine Benutzerin Zugriff im Dashboard habe soll, eine eigene ACL angelegt werden. Das kann (und wird) sehr schnell unübersichtlich. Wir haben Projekte erlebt, bei denen mit mehreren Hundert!!!! ACL’s gearbeitet wurde. Dabei geht fast zwangsläufig der Überblick verloren und man legt bei Zugriffsanfragen einfach eine weitere Gruppe an, da es in diesem Wust schlicht unmöglich ist, heraus zu finden, ob es bereits eine passende gibt oder nicht.

Zum Anderen erfordert jede Neuzuordnung zu einer weiteren ACL die Beteiligung des Active Directory Admins. Das mag im ersten Augenblick nicht nach einem Problem klingen – aber wer schon mal in einem Groß-Unternehmen unterwegs war weiß, dass man die IT nur dann einbindet, wenn es gar keinen anderen Weg gibt, da damit immer enorm bürokratische und langwierige Prozesse verbunden sind.

Kritisch ist dieser Ansatz auch aus der generellen Security Sicht. Denn gelingt es einem Benutzer oder einer Benutzerin, den Daten-Tab im Workbook anzuzeigen, erhält er/sie Zugriff auf die gesamten Daten.

Security im Datenbank-Server

Eine andere Möglichkeit ist, diese Sicherheits-Ebene direkt in der Datenbank anzusiedeln und dort über Konfigurations-Tabellen zu steuern.

Der Benutzer / die Benutzerin wird dabei über den Windows Account im Active Directory identifiziert und über eine sog. „Trusted Connection“ an den SQL Server bei einer Datenanfrage übergeben. Damit weiß der Datenbank-Server, wer etwas von ihm möchte und kann die gewünschten Daten liefern. Dabei kann er zum Beispiel Konfigurationstabellen nutzen um festzustellen, auf welche Daten der Benutzer / die Benutzerin Zugriff hat. So wird ein individuelles Ergebnis vom Server geliefert.

Für die Pflege dieser Konfigurations-Tabellen ist eine Einbindung von IT nicht zwangsläufig erforderlich. Diese kann auch über eine kleine Anwendung durch berechtigte Personen in den Fachbereichen selbst durchgeführt werden.

Ein weiterer Vorteil ist, dass bei entsprechendem Aufbau der Konfigurations-Tabellen, ein beliebig kleinteiliger Aufbau der Berechtigungen erfolgen kann. Für den Personal-Bereich eines großen Konzerns haben wirr nach diesem Konzept eine Reporting-Lösung aufgebaut. Dabei konnte man bis auf die Personalnummern-Ebene hinab einzelne Mitarbeiterinnen und Mitarbeier ein- oder ausschließen. Ein Versinken im ACL-Sumpf konnte dadurch vermieden werden.

Etwas komplexer gestaltet sich der Aufbau übrigens bei Verwendung eines Tableau-Servers für die Anzeige. Diesen Themenkomplex werde ich jedoch in einem eigenständigen Artikel näher erläutern. Für den Moment soll es uns reichen, dass das skizzierte Szenario grundsätzlich so funktioniert. Es gibt uns maximale Flexibilität bei der benutzergesteuerten Sicherheit. Das gilt übrigens gleichermaßen für die Spalten- wie auch die Zeilen-Security. Zudem eliminiert es die Notwendigkeit, die IT Abteilung hierfür einzubinden.

Datenkonsistenz und Wiederverwendbarkeit mit Tableau + MS SQL Server

Ein weiter wichtiger Aspekt, der für die Verwendung eines zentralen Datenbank-Servers spricht, sind die Themen Datenkonsistenz und Wiederverwendbarkeit.

In aller Regel lassen sich die Quelldaten für das Reporting nicht 1:1 verwenden. Sie müssen für die Anzeige im Dashboard erst mehr oder weniger mühsam aufbereitet werden. Verlegt man diesen Schritt nun in den Anzeige-Layer – also nach Tableau, hat man das Problem, dass diese Schritte für jedes Workbook von Neuem durchlaufen werden müssen. Alleine deshalb ist es schon sinnvoll, für diese sog. ETL (Extract, Transform, Load) Prozesse eine eigene Ebene zu schaffen, damit die zum Teil sehr aufwendigen Schritte nur einmal durchlaufen werden müssen.

Dadurch ist auch sichergestellt, dass immer die gleichen Ergebnisse angezeigt werden und es nicht zu Inkonsistenzen auf Grund unterschiedlicher Aufbereitungen der Daten für Workbook A und B kommt. Ein zentraler Datenspeicher ist also essentiell für eine konsistente Datenhaltung. Durch die Vermeidung von mehrfachen Aufbereitungen der gleichen Quelldaten reduziert dieses Vorgehen auch die erforderlichen Aufwände und ist somit kosteneffizient.

Ein weiterer Vorteil dieser Architektur ist, dass der so geschaffene Daten-Pool von verschiedenen Workbooks und auch anderen Programmen benutzt werden kann. So ist es beispielsweise möglich, neben einem Tableau-Dashboard auch noch eine Excel Arbeitsmappe für das Line by Line Reporting aufzusetzen . Das ist etwas, das besser außerhalb von Tableau geschehen sollte. Durch die Entkopplung der Daten-Lade Prozesse von der Anzeige-Ebene, ist dies problemlos möglich.

Da man Trusted Connection auch in MS Excel nutzen kann, lässt sich auch hierfür der bereits besprochene Security Layer verwenden. So erhalten die Benutzerinnen und Benutzer nur Zugriff auf die Daten, die sie auch sehen sollen – egal, ob sie darauf von Tableau aus zugreifen oder die Daten in Excel importieren möchten. Es werden immer die gleichen Ergebnisse geliefert, da die Daten-Grundlage immer die selbe ist. So geht Datenkonsistenz und Wiederverwertbarkeit!

Performance

Ein altes Sprichwort sagt: „Schuster, bleib bei Deinen Leisten!“. Auf die IT übertragen könnte man sagen: „Ein Programm sollte nur das tun, was es am besten kann!“. Im Falle von Tableau ist das ganz bestimmt die Anzeige und Analyse von Daten während es die Aufgabe von Datenbanken ist, diese Informationen schnell und im gewünschten Aggregations-Level zu liefern.

Moderne Datenbank-Management-Systeme, wie der MS SQL Server, beinhalten hierfür sehr leistungsfähige Werkzeuge wie Execution Plans und Query Optimizer. Durch die Vergabe sog. Indizes in den Datentabellen kann zudem das Design der Datenbank optimal auf die Erfordernisse des Reportings ausgelegt werden. Zudem können verschiedene Daten-Sichten bereits vorberechnet werden (Stichwort OLAP Cubes), so dass die Notwendigkeit der (laufzeitintensiven) Berechnung im Anzeige-Layer entfällt.

Die Verwendung eines Datenbank-Servers ist zwar kein Allheilmittel gegen schlechte Performance eines Tableau-Dashboards. Abhängig vom Aufbau der Daten und des Dashboards – kann es sogar mal sein, dass dadurch gar kein Performance Gewinn erzielt wird – jedoch ist das die Ausnahme. Grundsätzlich gilt: je komplexer die Daten sind und je auswendiger sie aufbereitet werden müssen, desto lohnender ist der Einsatz eines Datenbank-Servers.

Abschließende Gedanken

Auf Grund der oben genannten Punkte raten wir Unternehmen in aller Regel dazu, zusätzlich zu Tableau auch einen Datenbank-Server für die Datenhaltung und -aufbereitung einzuplanen. Wir sind in diesem Artikel auf einige Vorteile dieser Kombination (insbesondere im Zusammenspiel mit dem MS SQL Server) eingegangen. Das gilt gleichwohl übrigens nicht für alle Datenbank-Management-Systeme. Es macht durchaus einen großen Unterschied, ob an Stelle des MS SQL Servers hierfür ein Oracle, SAP Hana, MongoDB System oder was auch immer eingesetzt wird. Dieser Vergleich lohnt aber einen eigenen Artikel. Es kommt also auf den Einzelfall an, wie die bestmögliche Architektur aussieht. Lassen Sie Sich bei der Entscheidung zu diesem Thema Zeit und treffen Sie keine voreilige Entscheidung. Wenn Sie sich unsicher sind, lassen Sie Sich beraten. Fehler, die Sie hier machen, lassen sich später oft nur sehr mühsam und kostspielig beseitigen.

Beta-Tester gesucht

Für unsere Excel-Tool-Box suchen wir aktuell engagierte Beta-Tester, die gemeinsam mit uns die Werkzeugsammlung noch besser und zuverlässiger machen wollen. Wenn Sie gerne neues ausprobieren und eine Affinität zu MS Excel haben, dann schreiben Sie uns und wir versorgen Sie noch vor dem offiziellen Start mit unseren neuesten Tools. Diese können Sie dann auf Herz und Nieren testen und uns so helfen, die Qualität unserer Excel-Tool-Box noch weiter zu verbessern. 

So implementieren wir aktuell gerade ein Serien-Email-Tool, das im Zusammenspiel von Excel mit Outlook die komfortable und einfache Erstellung von individualisierten Benachrichtungen erlaubt. Wenn Sie also öfter Serien-Emails (ggf. mit Anhängen) erstellen müssen, wären Sie perfekt als Beta-Tester für das Tool geeignet.

Beta-Tester

Aber natürlich müssen auch alle anderen Programme unserer Excel Tool Box immer wieder intensiv getestet 8werden. Also selbst wenn Serien-Mails jetzt nichts sind, mit dem Sie täglich zu tun haben, können Sie einen wichtigen Beitrag als Beta-Tester leisten. Nur so können wir sicherstellen, dass unsere kostenlose Werkzeugsammlung auch zukünftig den höchsten Qualitätsanforderungen gerecht wird – nämlich den von Ihnen!

Working Prototype ready

Die Entwicklung unseres Tools zur Erzeugung von Serien-Emails über Outlook schreitet mit großen Schritten voran. Mit einem sog. „Working Prototype“ – also einem bereits voll funktionsfähigen ersten Wurf – haben wir nun einen wichtigen Schritt auf dem Weg zum geplanten Go-Live am 31.01.2023 erreicht. Nun folgen noch umfangreiche Tests und Verbesserungen für den letzten „Feinschliff“. Seien Sie also gespannt auf das nächste Release unserer Excel-Tool-Box und dem dann darin enthaltenen Serien-Mail-Tool, denn sie wird das neue Werkzeug sicher bereits enthalten.

Folgen Sie uns auch Facebook und Instagram, um über die weitere Entwicklung informiert zu bleiben.

Working Prototype ready