Mehrwertige Parameter übergeben

Mehrwertige Parameter bieten eine elegante Möglichkeit Selektionen dynamisch zu verändern. Was aber, wenn man per Drillthrough einen weiteren Report mit den Wünschen des Anwenders versorgen will? Die einfach Parameter-Übergabe versagt an dieser Stelle.

Die Anforderung

Ein Report hat einen mehrwertigen Parameter, z. B. für die erste Stelle einer PLZ. Wahlweise kann man hier also die Werte von "0" bis "9" in beliebigen Kombinationen wählen. Man definiert eine Aktion auf einem Feld durch die ein weiterer Bericht aufgerufen werden soll. Dort soll ebenfalls die gewünschte Kombination aus Anfangszeichen zum Einsatz kommen. Verwendet man die einfache Parameterübergabe, dann kommt nur der erste Wert an.

Die Lösung

Bereits in dem Artikel zu gewählte Parameter anzeigen habe ich den Trick gezeigt, die mehrwertigen Parameter als kommaseparierte Liste aufzubereiten. Jetzt müssen wir also diese Liste aufbereiten, damit wir sie anschließend wieder aufteilen und übergeben.

Das erste Zeichen der PLZ ist ja ein mehrwertiger Parameter im aktuellen Report. Also müssen wir uns auf diesen Parameter beziehen:
=Split(Join(Parameters!PLZ_Anfang.Value,","),",")
Zur Eingabemöglichkeit für diese Anweisung kommen wir durch den kleinen Button neben dem Wert, der mit fx beschriftet ist.

Auf keinen Fall dürfen wir uns auf diesen Eintrag beziehen: Parameters!PLZ_Anfang.Value(0)

Wir würden dann nur den ersten Wert der Liste bekommen, was ja nicht unser Ziel ist. Im aufgerufenen Report definiert man den Parameter PLZ_Anfang am besten genauso, wie im aufrufenden Report.

Die Funktion Join bildet die kommaseparierte Liste, damit wir alle gewählten Werte im Zugriff haben. Mit Split trennen wir die Liste wieder auf, damit wir die einzelnen Werte übergeben können.