6

Ich verwende den folgenden Ausdruck eine Zeilennummer für eine Tabelle in SSRS zu erhalten:SSRS Zeilennummer innerhalb der Tabelle ohne ausgeblendeten Zeilen

=RunningValue(CountDistinct("Table1"),Count,"Table1") 

I auch einen Ausdruck für die Eigenschaft Zeilen Sichtbarkeit verwenden. Sagen wir einfach, dass der Sichtbarkeitsausdruck

=IIf(Fields!MyField.Value + Fields!MyField.Value <> 0, False, True) 

ist. Mein Ausdruck für die Zeilennummer berücksichtigt nicht, ob die Zeile sichtbar ist oder nicht.

Ich könnte natürlich meine Datasetabfrage ändern, aber ist es möglich, nur meinen Zeilennummernausdruck zu ändern, um nur Zeilen einzubeziehen, die nicht versteckt sind? Danke

Antwort

10

Sie können dies wahrscheinlich erreichen, indem Sie die Logik Ihrer beiden Ausdrücke kombinieren.

Sagen Sie bitte ein einfaches DataSet und eine einfache Tablix auf dieser Basis:

enter image description here

enter image description here

Hier rownum wie berechnet:

=RunningValue(Fields!val1.Value, CountDistinct, "Tablix1") 

Als nächstes Lassen Sie uns einige Zeilen mit einem Ausdruck ausblenden, der auf den anderen beiden Feldern basiert:

=IIf(Fields!val2.Value + Fields!val3.Value <> 0, False, True) 

enter image description here

Dies bricht rownum, aber wir können den Ausdruck ändern, um die ausgeblendeten Zeilen zu ignorieren. Wir tun dies, sie durch nulling aus (dh für so Nothing gesetzt SSRS) - CountDistinct werden alle Nothing Werte nicht berücksichtigen:

=RunningValue(IIf(Fields!val2.Value + Fields!val3.Value <> 0, Fields!val1.Value, Nothing) 
    , CountDistinct 
    , "Tablix1") 

Jetzt rownum ignoriert die ausgeblendeten Zeilen nach Bedarf:

enter image description here

+0

Vielen Dank. Das war sehr hilfreich. –