2014-03-24 15 views
5

Ist es möglich, in rdlc Bericht Ausdruck in 'online' Weise irgendwie zu erstellen?Lokale Variable in rdlc Ausdruck setzen

Zum Beispiel habe ich folgenden Ausdruck:

=IIf(First(Fields!BillingAccount_billtostateprovince.Value, "Invoice") <> "", 
First(Fields!BillingAccount_billtostateprovince.Value, "Invoice") + " ", 
"") 

Ich nehme an, dass ich First(Fields!BillingAccount_billtostateprovince.Value, "Invoice") zweimal folgenden Ausdruck bin auswertet. Ich mag es nicht und es sieht hässlich aus ... Ich würde es vorziehen, eine Variable im Bereich des aktuellen Ausdrucks zu erstellen und sie zu verwenden.

Ist es möglich?

+1

"Ich mag es nicht, und es sieht hässlich" - Willkommen in SSRS! Ich glaube nicht, dass es einen Weg gibt, dies zu vermeiden. Sie könnten den Feldwert wahrscheinlich an den dahinter liegenden Code übergeben und ihn dann abrufen, aber dies verringert Ihre Zeichenanzahl nur geringfügig und fügt eine zusätzliche Ebene hinzu, um die Sie sich kümmern müssen. – user3056839

Antwort

3

Wie user3056839 sagte, Willkommen bei SSRS!

Wie auch immer, was Sie wollen, ist nicht möglich, da das, was Sie gerade schreiben, kein Skript ist, sondern nur ein Ausdruck. Es ist eine einzelne Anweisung, die einen Wert zurückgibt, so dass Sie keine Variablen deklarieren, keine Schleifen verwenden oder irgendetwas, das Teil eines Skripts ist.

Sie müssen genau das verwenden, was Sie schreiben.

Auch ist es nicht selten, einen IIF-Ausdruck wie deins zu sehen. Der, den ich ständig sehe, ist IFF (IS NOT NULL, 'N/A'). Das Feld kann tatsächlich zweimal ausgewertet werden, aber Sie können nichts tun. Es ist hässlich, aber es ist der einzige Weg, wie Sie das tun können.

Man denke nur an den Fall, wenn Klausel:

SELECT 
CASE WHEN MyField IS NOT NULL THEN 
    MyField ELSE 0 
END 

Sie das Feld zweimal die Bewertung, aber es gibt nichts, was man tun kann :)

0

Es ist möglich, es in SQL Server zu tun, 2008 und oben . Sie können eine Report Variable erstellen, auf die Sie in Ihrem Bericht zugreifen können.

Creating Report variable

Referenz: sqlchick.com