2016-07-18 18 views
0

Ich habe einen Datensatz mit („Benutzer“) von Abfrage generiert, die in den Daten ergibt sich wie folgt, die in einem Tablix in meinem Bericht angezeigt:SSRS Lookup ein Zellenwert von Datensätzen Parameterbedingung

name salary 
xyz 100 
abc 200 
pqr 150 

Jetzt Ich habe auch einen Parameter für die Auswahl des Benutzernamens. So, ich möchte nur dieses Dataset zu filtern und anzuzeigen das Gehalt in einem anderen Textfeld basierend auf ausgewählten Parameter. z.B. Wenn ich xyz aus dem Parameter wählen, dann sollte der Textbox Wert 100

sein habe ich versucht, mit diesem Ausdruck in meiner Textbox

=Sum(Lookup(Fields!Name.Value,Parameters!Name.Value,Fields!Salary.Value,"Users")) 

Aber, ich die Fehlermeldung wie „Der Wert Ausdruck erhalten für die TextBox2 ein verwendet Aggregatausdruck ohne Gültigkeitsbereich "

+0

Sie können nicht "summieren", was von einem "Lookup" zurückgegeben wird. Entfernen Sie die Summe, und Ihre Suche funktioniert, vorausgesetzt, dass das, was sich in der Benutzerdatenmenge befindet, bereits aggregiert ist. –

Antwort

1

Ich denke, Sie übergeben Argumente an die Suchfunktion in einer falschen Reihenfolge. Lookup-Funktion empfängt Argumente in der folgenden Reihenfolge:

=Lookup(
    the value to search, 
    the field in which you are going to look for a match, 
    the field you want to get, 
    the scope 
) 

Ihr Ausdruck sollte wie folgt aussehen:

=Lookup(Parameters!Name.Value,Fields!Name.Value,Fields!Salary.Value,"Users") 

REFERENCE

Sie können SUM verwenden, wenn der zurückgegebene Wert numerisch ist, aber es könnte eine Rückkehr falsche Summe, wenn Sie die Nullwerte nicht verarbeiten, die zurückgegeben werden, wenn keine Übereinstimmung vorhanden ist.

Lassen Sie mich wissen, ob dies hilft.