Zum Hauptinhalt springen

Best Practice: Warum Pfeile nicht über Ebenen gezogen werden sollten

Datenbankabfragen werden in arcplan durch mehrere Objekte definiert. Neben dem Objekt mit der Abfrage selber definieren andere Objekte die Spalten, Zeilen und Filtereinstellungen. Dabei können diese sich auch selber beeinflussen (Performancepfeile, Auswahlbedingte Filter…)
Die Verknüpfung der Objekte für eine Datenabfrage wird durch die Verbindung der Objekte in dem Verbindungsmodus definiert. Es werden Pfeile gezogen. Obwohl die Objekte sehr oft zusammen angelegt werden, spielt der Ort oder die Anordnung der Objekte für die Funktion keine Rolle. Diese Objekte können sich sogar auf verschiedenen Berichtsebenen befinden.

Immer wieder befinden sich in Berichten Verbindungen zwischen mehreren Ebenen, bei denen die Filterobjekte auf der Dokumentenebene und die eigentliche Datenabfrage wegen weiteren Aufbereitungsschritten auf einer der Hintergrundebenen liegt. Des Weiteren kommt es auch oft vor, wenn im Rahmen der Berichts(weiter)entwicklung, Objekte verschoben und neu angeordnet wurden. Dabei werden nicht immer alle zusammengehörende Objekte gemeinsam verschoben.
Diese Verteilung der Objekte über den Bericht ist technisch möglich und hat zunächst auch keine funktionalen Nachteile, aber es sollte dennoch vermieden werden.

Der Grund ist zunächst ein technischer. Obwohl die Verbindung funktioniert, werden die Verbindungspfeile über verschiedene Ebenen in der Verbindungsansicht mit der aktivierten Anzeige der Pfeile nicht angezeigt.
Dies wird im folgenden Screenshot dargestellt.

 

arcplan-pfeile-ueber-ebene-arcplan-application-designer

 

Hier befindet sich eine Datenabfrage auf der Ebene 1. Die Datenabfrage wird dabei scheinbar neben dem Zeilen- und Spaltenobjekt nur durch den Währungsfilter ([<Filter_Währung>]) bestimmt. Allerdings stimmt das in diesem Fall nicht, da die beiden weiteren Filter ([<Filter_Periode>] und [<Filter_Kunde>]) auf der Berichtsebene auch in der Abfrage berücksichtigt werden, was aber nicht dargestellt wird. Ein Deaktivieren der Anzeige der Pfeile im Verbindungsmodus, wie im folgenden Screenshot dargestellt, macht das sichtbar.

 

arcplan-Pfeile-ueber-ebene-verbindungen-arcplan-application-designer

 

Hier werden jetzt alle fünf Objekte, die die Datenabfrage bestimmen, durch den kleinen roten Pfeil in der rechten unteren Objektecke dargestellt. Dies ist allerdings auch nur dann erkennbar, wenn die Objekte im sichtbaren Bereich sind. Sofern dies nicht der Fall ist besteht die Gefahr, dass fälschlicherweise von nur drei abfragerelevanten Objekten ausgegangen wird und so der Bericht falsch verstanden wird.

Um dies zu verhindern sind die Anzeige der Anzahl der verbundenen Objekte (grüner Kreis 1, rechts unten) oder auch der Pfeile in dem Verbindungsfenster (grüner Kreis 2, recht oben) gute Funktionen um zu erkennen ob es noch weitere abfragerelevante Objekte auf anderen Ebenen gibt, bzw. welche Objekte relevant sind. Die Anzeige der Anzahl der verbundenen Objekte zeigt die Anzahl der Objekte, die mit dem ausgewählten Objekt verbunden sind. Dies gilt sowohl für Datenbankverbindung als auch Formelbezug. Im Fall einer Datenabfrage zeigt sie die Anzahl aller abfragerelevanten Objekte. Wenn diese größer als die Anzahl der sichtbaren Objekte ist, und im Pfeilmodus keine Pfeile sichtbar sind, befinden sich abfragerelevante Objekte auf anderen Ebenen. Die Pfeile in dem Verbindungsfenster (grüner Kreis 2, recht oben) werden nun benutzt, um diese zu finden. Damit werden alle verbunden Objekte hervorgehoben, wobei die Ansicht auf das jeweilige Objekt fokussiert.
Dies ist alles recht umständlich und ist sehr aufwendig. Da dies im Zweifelsfall bei jeder Datenbankabfrage gemacht werden muss, um sicher zu gehen nichts zu übersehen.

Fazit

Wir sehen also, dass Verbindungspfeile über mehreren Ebenen technisch funktionieren, diese aber die Übersicht sehr stark erschweren. Es ist, wenn auch möglich, recht umständlichen solchen Fällen die genaue Funktionsweise und die Zusammenhänge zu erkennen. Während dies in der Entwicklungsphase mit einem Entwickler bei kleinen Berichten noch beherrschbar ist. Kann es bei größeren Berichten schon zu Problemen führen.
Wenn dann der Bericht von einem selbst nach mehreren Monaten angepasst wird, oder der Bericht von einem Kollegen übernommen wird, kann das sehr zeitaufwändig und fehleranfällig werden.
Daher sollten Verbindungspfeile über mehrere Ebenen vermieden werden. Grundsätzlich sollten im besten Fall eh immer alle verbunden Objekte in der Nähe der Datenabfrage positioniert und einheitlich im Layout gestaltet werden. Dies sollte auch Teil des eigenen Vorgehensmodells sein. Die Zeit die hier am Anfang investiert wird, hat man schnell wieder gewonnen, wenn es im Rahmen von Anpassungen/Weiterentwicklungen oder Übergaben notwendig wird, den Bericht wieder zu verstehen.