05.06.2015
Anton Grening
Autor: Anton Grening

ACL An­a­lyt­ics™ - Der Klas­si­fi­zie­ren-Work­around

Im ersten Teil dieser Reihe haben wir einige praktische ACL™-Funktionen auf Textfelder kennengelernt und haben gesehen wie einfach es ist diese Felder zu kombinieren.

In der Regel gehören alle Informationen möglichst in separate Spalten (Felder) gespeichert, damit diese einzeln angesprochen und ohne Umwege ausgewertet werden können. Allerdings kann es auch vorkommen, dass es sinnvoller ist, mehrere Informationen in einem Feld gemeinsam zu speichern - (Beispielsweise Straßenname und Hausnummer). Oder man benötigt zwei Felder kombiniert in einem, um sie zusammen analysieren zu können, so wie wir das im vorherigen Blogeintrag mit der Anschrift getan haben. Sollen also zwei Textfelder zu einem zusammengefügt werden, so lassen sich diese in ACL™ ganz einfach über ein Pluszeichen (z.B.: Straße + Nr) verbinden. (sog. Konkatenation) Was hierbei nicht vergessen werden darf, ist der Datentyp. Zwar lautet der Feldname in diesem Beispiel „Nr“ (für Hausnummer) verbirgt sich dahinter jedoch ein Textfeld, da man diese Angabe für gewöhnlich nicht für Berechnungen verwendet. Diese Vorgehensweise zum Verbinden setzt also voraus, dass es sich bei allen zu kombinierenden Felder um Texte handeln muss. Textfelder haben eine feste Länge, was dazu führt, dass auch die Leerzeichen zum Auffüllen in das neu erzeugte Feld übernommen werden (Ausnahme: Der Text schöpft, die volle Feldbreite aus). Ein möglicher Lösungsansatz für das saubere Verbinden wurde bereits in unserem vorherigen Blogeintrag geliefert. Heute zeige ich Ihnen wie das in ACL™ aussehen könnte:

Textfelder analysieren

Abbildung 1: Erzeugen des Feldes c_StraßeNr durch das Zusammenfügen der Felder Straße und Nr

Einen noch wesentlicheren Grund zum Einsatz dieser Funktionalität liefert die Tatsache, dass einige Befehle wie zum Beispiel das Klassifizieren, immer nur auf ein Feld angewandt werden können. Das bedeutet ACL™ kann in diesem Fall jeweils immer nur nach einem Textfeld gruppieren und entsprechende Zwischensummen liefern.

Betrag Hauswährung summieren

Abbildung 2: Nach Buchungskreis klassifizieren und über den Betrag_Hauswährung summieren

Möchte man nun aber noch pro Buchungskreis auf das Geschäftsjahr klassifizieren, so ist das ohne weiteres nicht möglich, da die Auswahl über das Dropdown nur ein Feld erlaubt. Daneben steht für die Wahl der Zwischensummen eine Auswahlbox zur Verfügung, was darauf hinweist, dass hier mehrere Felder gewählt werden können. In diesem Beispiel wurde nur der Betrag in Hauswährung gewählt.
Natürlich ist es möglich, über das Summenstruktur-Kommando mehrere Felder gleichzeitig zu verwenden. Allerdings ist in manchen Fällen Klassifizieren bequemer in der Anwendung, und produziert – wie der obige Screenshot zeigt – auch automatisch Prozent der Anzahl / Prozent des Feldes – Spalten. Zudem wird ein Diagramm der Auswertung erzeugt. Beides ist bei der Summenstruktur nicht der Fall. Dies sind nur einige von mehreren möglichen Gründen, warum man auf mehrere Felder in Kombination das Klassifizieren-Kommando verwenden möchte.
Über einen Workaround ist dies auch möglich - sowohl auf Buchungskreis als auch gleichzeitig auf das Geschäftsjahr zu klassifizieren. Dazu müssen wir die zwei Textfelder einfach zusammenfügen und als ein Feld hinterlegen. Dieses neue berechnete Feld wird im ACL™-Projekt abgelegt und kann für weitere Analyseschritte wie eben das Klassifizieren verwendet werden.

Feld klassifizieren

Abbildung 3: Neues Feld c_Bukrs_GJahr erzeugen und danach klassifizieren

Das eben erzeugte Feld ist nun in der Auswahl vorhanden und es kann nach beiden Kriterien in Kombination problemlos klassifiziert werden. Die Spalten „Prozent der Anzahl“ und „Prozent des Feldes“ werden ebenfalls wie gehabt erzeugt.

Mit diesem vorgelagerten Zwischenschritt ist ein Workaround möglich, der die Einschränkung des Klassifizierens-Kommandos aufhebt und das gleichzeitige gruppieren auf mehrere Textfelder erlaubt.

Wird auf Basis der Ergebnistabelle weitergearbeitet ist es übrigens auch möglich, Felder wieder zu separieren, etwa mit der SUBSTR() oder SPLIT()-Funktion.

Felder wieder trennen

Abbildung 4: Zusammengesetztes Feld wieder trennen

Anschließend stehen diese Felder wieder einzeln zur Verfügung und können für weitere Schritte verwendet werden. Achtung: Der Vorgang, so wie in Abb. 4 aufgezeigt, ist natürlich nur möglich, wenn die ursprünglich im Tabellenlayout festgelegten Feldlängen (in diesem Beispiel jeweils 4) bekannt und immer gleich sind. (siehe Leerzeichenthematik weiter oben)

Die Vorgehensweise zum Kombinieren von Feldern ist zugegeben nichts außergewöhnliches, vor allem wenn man mit SAP® Daten beziehungsweise mehreren Tabellen arbeitet. Vor allem dort benötigt man Schlüsselfelder, um die Datensätze eindeutig identifizieren zu können. Oft genügt dafür ein Feld alleine nicht aus, sodass man hier auf zusammengesetzten Felder zurückgreifen muss.

Unser nächster Blogeintrag wird sich genau mit diesem Thema befassen und Ihnen zeigen wie ACL™ es schafft Analysen über mehrere Tabellen zu fahren.

Ich hoffe Sie konnten etwas Neues aus diesem Eintrag mitnehmen und können es bei Ihre Arbeit mit ACL™ anwenden.

Für Fragen oder Kommentare können Sie sich auch gerne unter info@dab-gmbh.de an uns wenden.

Zum nächsten Artikel dieser Serie.


Kommentare (0)
Sei der erste, der diesen Blog-Beitrag kommentiert.
Blog Anmeldung

Sie sind nicht angemeldet. Bitte melden Sie sich an um diesen Blogbeitrag zu kommentieren.

anmelden