Mithilfe von SSRS Ausdrücke, um zu sehen, welche Optionen einem Benutzer ausgewählt hat, aus einem mehrwertigen parameter?
Ich versuche einen filter einrichten, der gegen eine "Summen" - Spalte in einem SSRS-Bericht mit einem Ausdruck für das Feld.
Habe ich einen mehrwertigen parameter setup mit den Werten Wert1, Wert2, value3, value4 als Optionen.
Bevor der filter, diese Summen-Spalte einfach addiert die Ganzzahl-Werte aus den verschiedenen Spalten. Ich will hinzufügen von Funktionalität zu denen Sie überprüfen können, welche die Werte, die der Benutzer ausgewählt hat.
Ähnlich wie unter (Pseudo-code, weil ich nicht herausfinden können, die syntax):
=IIF(Parameters!<Parameter>.Label="value1",Fields!value1.Value,0)
+IIF(Parameters!<Parameter>.Label="value2",Fields!value2.Value,0)
+IIF(Parameters!<Parameter>.Label="value3",Fields!value3.Value,0)
+IIF(Parameters!<Parameter>.Label="value4",Fields!value4.Value,0)
Alle Werte in den Feldern, die Hinzugefügt wird, sind einfache zahlen. Ich würde schätzen jede Hilfe, die jedermann anbieten kann. Danke!
InformationsquelleAutor Sev09 | 2013-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt wird ein parameter namens
Include
Sie können einen Ausdruck verwenden, wie diese:Diese nutzt die
Join
Funktion erstellen Sie eine durch Trennzeichen getrennte Zeichenfolge der ausgewählten Parameter, Prüfungen für einen bestimmten parameter Wert ausgewählt wird, dann fügen Sie entweder den zugehörigen Wert oder eine 0 an die Summe.Hier ist ein einfacher Bericht mit dem Ausdruck:
Alle Werte ausgewählt:
Zwei Werten ausgewählt wird:
value1
zuvalue10
dann jedes malvalue10
ausgewählt ist, wirdvalue1
wird auch in der Gesamtsumme enthalten (als langweilig zu geben und pflegen, die Feld-Namen verwendet, wenn über mehrere Berichte).Sie können sich mit dem Fall oben durch die Aktualisierung der
IIf
Ausdruck leicht:IIf(InStr("," & Join(Parameters!Include.Value, ",") & ",", ",value10,")
. Ich dachte darüber nach, benutzerdefinierten code für dieses, aber für vier Spalten, dass es wahrscheinlich ein Schritt zu weit. Einverstanden weitere Spalten wäre es wahrscheinlich Umkippen, um benutzerdefinierte code. Mit custom-code ist es hilfreich zu enge Kopplung zwischen parameter und Feldnamen; kaum lästig, sondern einfach nur eine andere Betrachtung. Hängt alles davon ab, die Umstände zu der Zeit.Vereinbart ist - in einfachen Fällen-in einem Bericht mit ein paar Feldern und nicht-überlappenden Feld Namen Ihre Methode ist sicher und schnell, +1
Dies ist, was ich am Ende mit. Arbeitete wie ein Charme, Dank!
InformationsquelleAutor Ian Preston
Können Sie erreichen dies in einer einfachen Weise ohne Besaitung zusammen eine ganze Reihe von
IIF
- Funktionen und die Angabe jedes Feld verwendet werden. Was ist, wenn Sie möchten, ändern Sie den Namen des Feldes oder der Felder hinzuzufügen?Mithilfe von benutzerdefiniertem code können wir eine einfache und robuste Art und Weise der Durchführung dieser Berechnung. Mit der rechten Maustaste auf die nicht-design-Oberfläche in Ihrem Bericht, klicken Sie auf
Report Properties...
und klicken Sie dann auf dieCode
tab. Fügen Sie den folgenden code:Dieser nimmt die parameter Objekt (nicht Wert) und durchläuft die Werte ausgewählt, um die Berechnung unter Verwendung der Felder in der
Fields
Sammlung.Nun für den Ausdruck, einfach nur:
Eine gute option. Ich beschloss, gehen mit schnell-Ausdruck definierten Bereich statt, allerdings.
InformationsquelleAutor Chris Latta