Zum Hauptinhalt springen

Tipps & Tricks:Der S-Verweis zur Zuordnung von Informationen

arcplan bietet mehrere Möglichkeiten, einen klassischen S-Verweis, wie er in Excel oft genutzt wird, aufzubauen. Eine dieser Möglichkeit ist unter dem Blogeintrag Tipps & Tricks: Die Wiederholen-Schleife als Performancekiller zu finden.

Die hier beschriebene Methode arbeitet über das Kreuzprodukt zweier Tabellen und stellt als Mengenoperation einen „Left Outer Join“ dar, wogegen die Schnittmenge einen „Inner Join“ darstellt.

Das Kreuzprodukt zweier Tabellen erzeugen

Nehmen wir an, die Daten kommen aus zwei unterschiedlichen Datenquellen. In der einen liegen die Informationen über Stück- und Verkaufspreis, in der anderen die Daten über die Bestellmengen.

In unserem Beispiel kommen die Daten aus dem SAP-System, daher wird das Kreuzprodukt über die Schlüssel hergestellt; dies ist vor allem dann wichtig, wenn die Bezeichnungen der Produkte sich ändern bzw. von vornherein unterschiedlich sind.

 

s-verweis-beispiel-daten-aus-sap

 

Schritt 1

Für das Kreuzprodukt aus den Schlüsseln werden die Informationen aus der Tabelle „Schlüssel_1“ und „Stückpreis“ in Zeilen transformiert ([OBJ29] und [OBJ30]). In der Tabelle selbst wird bei gleichem Inhalt in Spalte [OBJ28] und Zeile [OBJ29] der Wert aus Zeile [OBJ30] genommen. Bei Ungleichheit bleibt die Zelle leer.

Das Ergebnis des Kreuzprodukts kann über die Funktion MAX() in eine Spalte zusammengezogen werden.

 

ergebnis-kreuzprodukt-funktion-max

 

Bei der Nutzung der Funktion ist zu beachten, dass arcplan alle Informationen der Berichte, die für die Anzeige der Daten auf der Report-Ebene benötigt werden, in den Speicher lädt. Wenn also mehrere Kreuzprodukte in der Form der oberen Abbildung gebildet werden, werden die Tabelleninhalte alle in den Speicher geladen.

Schritt 2

Um dies zu verhindern, kann die Funktion auch direkt in einer Spalte abgebildet werden. Hierzu sind die Funktionen der oberen Abbildungen in einem Objekt koordiniert.

 

s-verweis-abbildung-spalte

 

Prinzipiell gilt allerdings immer: Was über die Abfrage schon zusammengefügt werden kann, sollte auch dort zusammengefügt werden.