2016-04-10 9 views
0

Ich habe eine Tabelle in SSRS 2008. Diese Tabelle enthält eine Reihe Sichtbarkeit Ausdruck hat wie:Hiding Tabelle oder Zuordnung von temporären Daten auf der Basis Sichtbarkeit Ausdruck SSRS 2008

=IIF(max(Fields!VExpected.Value) <> "", 1, 0) + 
IIF(max(Fields!MExpected.Value) <> "", 1, 0) + 
IIF(max(Fields!PExpected.Value) <> "", 1, 0) = 3, false, true) 

Manchmal ist die Datenquelle keine Daten zurückgibt, oder die zurückgegebenen Daten stimmt nicht mit diesem Ausdruck überein. In diesem Fall, was ich sehe, ist, dass eine Tabelle mit Grenzen und Spaltennamen, aber keine Daten über sie mag:

id Vex Mex Pex 

Allerdings habe ich es als

id Vex Mex Pex 
- - - - 

Oder wenn möglich zeigen will:

Eine andere Frage ist, gibt es eine Möglichkeit, die vollständige Tabelle zu verbergen, wenn es keine zurückgebenden Daten oder irgendwelche übereinstimmenden Daten mit dem Ausdruck gibt?

Dank

Antwort

0

Sie funktionieren können CountRows, wie viele Zeilen Ihres Datensatzes zu bestimmen, zurückkehrt. Wenn es Null ist, verstecken Sie die Tabelle, ansonsten zeigen Sie es.

=iif(CountRows("DataSetName")=0,true,false) 

Ersetzen Sie DataSetName durch den tatsächlichen Namen Ihres Datasets.

Für nicht übereinstimmende Ausdruckdaten können Sie diesen Ausdruck verwenden.

=Switch(
CountRows("DataSetName")=0,true, 
max(Fields!VExpected.Value) = "",true, 
max(Fields!MExpected.Value) = "",true, 
max(Fields!PExpected.Value) = "",True, 
true,False 
) 

Gesetzt VM, ME und PE erwarteten Werte sind numerische Typ I ISNOTHING() Funktion zu bestimmen, wann verwenden würde:

=IIF(
max(Fields!VExpected.Value) <> "" AND 
max(Fields!MExpected.Value) <> "" AND 
max(Fields!PExpected.Value) <> "",False,True 
) 

Der gesamte Ausdruck für Ausdruck übereinstimmen und keine Zeilen Fällen so etwas wie dies sein könnte Nullwerte werden zurückgegeben.

Zusätzlich können Sie eine Nachricht erstellen, wenn keine Zeilen von Ihrem Dataset zurückgegeben werden. Wählen Sie die Tablix und drücken Sie F4, um das Eigenschaftenfenster zu sehen. Wechseln Sie zur NoRowsMessage-Eigenschaft und verwenden Sie einen Ausdruck, um Ihren Benutzern mitzuteilen, dass keine Daten vorhanden sind.

="There is no data." 

In diesen Fällen die tablix nicht in Ihrem Bericht erscheinen, aber die Nachricht, die Sie festgelegt wird in der Lage gemacht werden, wo der tablix sein sollte.

Lassen Sie mich wissen, ob dies hilft.

+0

CountRows ("DataSetName") = 0 ist für mich nicht nützlich, da im Allgemeinen einige Daten vom SP zurückgegeben werden, aber der Ausdruck in der Zeilensichtbarkeit zeigt sie nicht in der Tabelle an. Zum Beispiel ist CountRows ("DataSetName") 321 in einem meiner Fälle, aber es sind keine Daten in der Tabelle zu sehen. –

+0

Die Eigenschaft "NoRowsMessage" funktioniert in dieser Situation auch nicht. –

+0

Warum haben Sie gefragt, ob es eine Möglichkeit gibt, die vollständige Tabelle zu verbergen, wenn keine Daten zurückgegeben werden? Deine Frage ist unklar. –