0

Hier ist mein Problem, ich habe eine Tabelle in SSRS, die ich erstellt habe, die ein Fälligkeitsdatum Feld (RegulatoryDateDecisionDue) hat. Basierend auf diesem Datumsfeld muss ich die Farben der Zeilen ändern, wenn das heutige Datum nach dem Fälligkeitsdatum liegt, sollte das Feld rot sein. Wenn die Anzahl der Stunden weniger als oder gleich 72 Stunden vom heutigen Datum bis zum Fälligkeitsdatum beträgt (im Prinzip wie ein Countdown bis zur Fälligkeit), sollten die Zeilen orange sein, ansonsten sollten Zeilen weiß sein.SSRS Hintergrundfarbe Ausdruck basiert auf Datum Wert

Hier ist der Ausdruck, den ich schrieb, aber ich habe ein Problem, bekomme ich Fehler, und Idee, was ich falsch mache oder wenn ich das anders machen sollte? Jede und jede Hilfe wird geschätzt.

=IIF((now() > Fields!RegulatoryDateDecisionDue.Value), "Red", IIF(((DateDiff(DateInterval.Hour, Fields!RegulatoryDateDecisionDue.Value, Now()) <= "72"), "Orange", "White"))) 
+0

in Ihrem Ausdruck denke ich "72" ist falsch versuchen Sie stattdessen 72, die als Integer betrachten. –

Antwort

1

Versuchen:

=Switch(
DateDiff(DateInterval.Hour, Fields!RegulatoryDateDecisionDue.Value, Now())<=72,"Orange", 
Fields!RegulatoryDateDecisionDue.Value<now(),"Red", 
true,"White" 
) 

Es ist besser, Verwendung Schalter für mehrere Bedingungen.

Lassen Sie mich wissen, ob dies hilft.

+0

Es ist besser, jetzt sehe ich zumindest die Orange, aber aus irgendeinem Grund sehe ich Orange auf den Feldern, die mehr als 72 Stunden vom Fälligkeitsdatum entfernt sind. – ItalianStallion4215

+0

72 Stunden + die Zeilen sollten gleich Weiß sein, 72 Stunden - die Zeilen sollten orange sein, und alles nach dem Fälligkeitsdatum sollte rot sein. – ItalianStallion4215

+0

@ ItalianStallion4215, versuchen Sie den aktualisierten Ausdruck. Ich habe die Reihenfolge der Bedingungen geändert, also wird jetzt Datum <= 72 Bedingung zuerst dann dann> Datum ausgewertet. –

0

Einige Dinge zu versuchen:

  • einen Schalter verwenden, statt iif
  • Verwendung "h" eine bessere Lesung zu haben insted DateInterval.Hour
  • schreiben 72 anstelle von "72"