2016-02-29 6 views
7

ich einen Datensatz (Volume) haben wie folgt aussieht:SSRS Lookup Basierend auf mehreren Bedingungen

enter image description here

In meinem Bericht, was ich will bekommen, ist dies:

enter image description here

Der Lookup-Ausdruck: = Lookup (Felder! Id.Value, Felder! Id.Value, Felder! Volume.Value, "Volume") kann nur nach ID suchen. Gibt es eine Möglichkeit, die ID zuerst zu suchen und dann Sub_Group zu suchen, um das richtige Volume zu erhalten? Vielen Dank.

+0

Ist Volume Ihr einziges Dataset, oder verwenden Sie Lookup, um es einem anderen Dataset zuzuordnen? –

+0

Volume ist nicht das einzige Dataset. Ich verwende es, um Volumen in den Bericht zu bekommen. Der Bericht basiert auf einem anderen Datensatz :) –

+0

Sie müssen beide Datasets posten, um zu bestimmen, wie der Lookup-Ausdruck aussehen soll. Möchten Sie beide Datensätze in einer Matrix zusammenführen? –

Antwort

12

Sie können Lookup mit mehreren Feldern verwenden, wenn Sie alle erforderlichen Felder im ersten und zweiten Lookup-Parameter verketten.

=Lookup(Fields!ID.Value & Fields!SUB_GROUP.Value, Fields!ID.Value & Fields!SUB_GROUP.Value, Fields!VOLUME.Value, "Volume") 

Alternativ können Sie alle notwendigen Felder im Dataset verketten und das für Ihre Lookup verwenden.

+0

Danke, ich verstehe die Logik. Aber der Fields! SUB_GROUP.Value ist nicht im Hauptdatensatz, den ich für den Bericht verwende. Anders herum? –

+0

Also nehme ich an, dass die Spalten A, B und C statische Spalten in einer Tablix statt einer Matrixspaltengruppe sind? Wenn ja, könnten Sie die Untergruppe in den Ausdruck in jeder Spalte hartcodieren. '= Suche (Felder! ID.Value &" A ", Felder! ID.Value & Felder! SUB_GROUP.Value, Felder! VOLUME.Value," Volume ")' –

+0

Ja, das ist was ich brauche. A, B und C sind keine statischen Spalten, aber ich kann einen Weg finden, indem ich der von Ihnen vorgeschlagenen Logik folge. Vielen Dank. –