2017-03-23 2 views
0

ich einen SSRS-Bericht habe, in dem ich gewesen war, den Standardausdruck für wechselnde Zeilenfarben verwendet:SSRS Expression - Alternate Row Farbe Basierend auf Dense Rang Funktion

=IIF(RowNumber(Nothing) Mod 2 = 0, "LightGrey", "White") 

Aber diesen besonderen Bericht zeigt Kunden mit doppelten SSNs so Ich fügte eine DENSE_RANK-Windows-Funktion hinzu, so dass jeder SSN den gleichen DENSE_RANK-Wert zugewiesen bekommen würde - ich hoffe, dass dies es mir erlaubt, die Zeilenfarbe auf der DENSE_RANK anstatt eines einfachen alternierenden Zeilenfarbausdrucks zu basieren.

Zum Beispiel

CustomerID: 1, SSN: 123456789, DENSE_RANK: 1

CustomerID: 2, SSN: 123456789, DENSE_RANK: 1

CustomerID: 3, SSN: 987654321 DENSE_RANK,: 2

In dem Bericht, mein Ziel ist es DENSE_RANK 1 vales auf eine Farbe zu machen, während 2 DENSE_RANK auf eine andere Farbe gesetzt - und natürlich würde dies für so viele doppelte SSN weitergehen wie im Bericht. Ich versuchte, den ursprünglichen Ausdruck wie folgt zu ändern:

=IIF(RowNumber(Fields!SSNRanking.Value) Mod 2 = 0, "LightGrey", "White") 

SSNRanking ist der Alias ​​ich die DENSE_RANK Funktion gab und ich erhalte die folgende Fehlermeldung, wenn ich den Bericht versuchen, eine Vorschau:

Die Hintergrundfarbe Ausdruck für das Textfeld "CustomerID" hat einen Bereichsparameter, der für eine Aggregatfunktion nicht gültig ist. Der scope-Parameter muss auf eine Zeichenfolgenkonstante festgelegt werden, die entweder dem Namen der enthaltenden Gruppe, dem Namen einer enthaltenden Datenregion oder dem Namen einer Datenmenge entspricht.

Gibt es eine Möglichkeit, den Ausdruck zu erstellen, um mein Ziel zu erreichen?

Danke,

+0

Kannst du nicht Rownumber entfernen und die Felder ändern! SSNRanking.Value? – Snowlockk

+0

Was für eine dumme Bewegung meinerseits - ändern Sie Ihren Kommentar zu einer Antwort und ich werde es als richtig markieren. Nicht sicher, warum ich die Zeilennummer im Ausdruck gelassen habe ... – MISNole

Antwort

1

Können Sie nicht RowNumber entfernen und die Felder! SSNRanking.Value mod?