2009-12-15 4 views
5

Ich muss einen Bericht erstellen, der Daten in vier gruppierten Ebenen zeigt. Der schwierige Teil ist: Die tatsächlichen Felder, die auf diesen vier Ebenen angezeigt werden sollen, müssen als Parameter in den Bericht eingegeben werden.Reporting Services - Setzen eines Feldwerts dynamisch basierend auf Parameter

Mein Hauptproblem im Moment ist das: Wie kann ich ein Textfeld im Bericht anweisen, den Wert des Parameters @X nicht anzuzeigen, sondern den Wert des Feldes durch den im Parameter @X angegebenen Namen?

Also, wenn ich in @X = 'Agent' passieren, ich will nicht, um zu zeigen, ‚Agenten‘ auf dem Bericht, aber wirklich

=Fields!Agent 

aber wie kann ich das tun? Es scheint mir, dass diese Wertausdrücke sind alle ziemlich fest einprogrammiert - ist es eine Möglichkeit,

=Fields!(@X) 

oder so ähnlich zu definieren - zeigen das Feld, das auf den Namen des Berichts in Parameter @X geben entspricht?

Dies ist wahrscheinlich absolut albern ist - aber ich bin ein Brickwall jetzt treffen und kann nicht scheinen, einen Weg, um es zu finden ....

Antwort

3

Es ist

=Fields(Parameters!X.Value).Value 

als here angegeben

Edited als richtig: Ich habe vergessen, einmal verwenden Sie ein = (Ausdruck) der Parameter anders angehen müssen.

0

Ist die Quelldaten für den Bericht in einer solchen Art und Weise angeordnet, dass Sie eine zweite Datenquelle definieren könnten, die die Feldwerte für die Parameter 1-4 nachschlägt und sie als einzelne Zeile zurückgibt, auf die Sie dann im Bericht mit der Syntax first verweisen könnten?

=First(Fields!Param1.Value, "Param_Lookups")