Schalter & IIF Bedingte Formatierung in SSRS 2008
Ich habe ein paar Probleme mit der bedingten Formatierung in SSRS. Ich habe versucht, Schalter & IIF-Anweisungen (unten). Der Bericht ausgeführt wird, aber nicht wieder Farben, wie ich bin, gehofft, es würde. Ich versuche, Termine hervorheben, die <= heute in rot, und alles andere wird schwarz. Es ist egal, wenn dieses Feld ist ein Datumsfeld? Ich habe seeen andere Fragen auf, die hier mit den gleichen Fragen, aber keine Beschlüsse. Hatte gehofft, heute wäre mein Glückstag, eine Antwort zu finden. Hier ist, was ich versucht haben, und danken Ihnen im Voraus für jede Eingabe.
=Switch( Fields!Decision_Must_Be_Made.Value <= today(), "Red",
Fields!Decision_Must_Be_Made.Value > today(), "Black")
=IIF( Fields!Decision_Must_Be_Made.Value <=today(), "Red", "Black")
Wenn Sie finden, Ihre eigene Lösung zu dem problem, fühlen Sie sich frei, um es als Antwort und es akzeptieren. So die Antwort ist offensichtlicher für zukünftige Leser.
Art im Zusammenhang mit...der trick mit der
Benötigen Sie Mehr Informationen über Was macht die Felder!Decision_Must_Be_Made.Wert enthalten, der die Werte und den Typ in der Datenbank. Ist ein einzelner Wert, Sie werden immer aus der Datenbank. Per default nehmen Sie den ersten Wert und vergleicht. Jeder Fehler, den Sie immer nach dem anzeigen des Berichts ich bin nicht mit Blick auf irgendwelche Probleme bin ich immer Werte und vergleichen zu können mit keine Fehler.
Ich hab mir gedacht ich poste meinen asnwer aber ich sehe es nicht ein jetzt. Als ich versuchte die Beantwortung meiner eigenen Frage, ich erhalte eine Benachrichtigung, dass ich konnte nicht die Antwort auf meine eigene Frage, bis 6 Stunden bis später (da bin ich noch ziemlich neu in der community).
Ja, ich weiß nicht, alle Regeln für die neuen Mitglieder. Ich ursprünglich kommentiert, weil ich sah, ein "pending " Bearbeiten" (nicht sicher, ob es genehmigt wurde). In diesem Fall, die Entsendung eine eigene "Antwort" ist wahrscheinlich besser als Aktualisierung der ursprünglichen Frage. So ist es leichter zu finden. Wenn Sie erlaubt sind post eine "Antwort" ist, dass .. 😉 Btw, willkommen auf stackoverflow!
Art im Zusammenhang mit...der trick mit der
Switch
Funktion ist die Verwendung True = True
als letzten Punkt als eine Art "catch-all" - Mechanismus.Benötigen Sie Mehr Informationen über Was macht die Felder!Decision_Must_Be_Made.Wert enthalten, der die Werte und den Typ in der Datenbank. Ist ein einzelner Wert, Sie werden immer aus der Datenbank. Per default nehmen Sie den ersten Wert und vergleicht. Jeder Fehler, den Sie immer nach dem anzeigen des Berichts ich bin nicht mit Blick auf irgendwelche Probleme bin ich immer Werte und vergleichen zu können mit keine Fehler.
Ich hab mir gedacht ich poste meinen asnwer aber ich sehe es nicht ein jetzt. Als ich versuchte die Beantwortung meiner eigenen Frage, ich erhalte eine Benachrichtigung, dass ich konnte nicht die Antwort auf meine eigene Frage, bis 6 Stunden bis später (da bin ich noch ziemlich neu in der community).
Ja, ich weiß nicht, alle Regeln für die neuen Mitglieder. Ich ursprünglich kommentiert, weil ich sah, ein "pending " Bearbeiten" (nicht sicher, ob es genehmigt wurde). In diesem Fall, die Entsendung eine eigene "Antwort" ist wahrscheinlich besser als Aktualisierung der ursprünglichen Frage. So ist es leichter zu finden. Wenn Sie erlaubt sind post eine "Antwort" ist, dass .. 😉 Btw, willkommen auf stackoverflow!
InformationsquelleAutor selectallfrom | 2012-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist definitiv wichtig ist, wenn das Feld als Datum-Zeit-Feld. Wenn es ein string ist, dann müssen Sie es zu konvertieren, um datetime-ersten. Wie Sie das tun, hängt vom format der Zeichenfolge. Aber es wird viel besser, wenn Sie stick mit ein datetime Feld aus der Datenbank. (Ich habe gesehen, wo einige formatiert ein Datum in einen string in der select der sql-Abfrage. Tun Sie das nicht. Format so spät wie möglich: in SSRS, an die text-box-Ebene.)
Wenn es ein dateTime, brechen Ihre Formel, um herauszufinden, was nicht funktioniert wie erwartet, und es besser sichtbar zu machen, wenn auch nur für debugging. Setzen Sie diese in die expression einer Zelle, zum Beispiel:
Bearbeitet, um hinzufügen Informationen darüber, wo die Farbe-Formel Hinzugefügt werden soll:
Klingt wie Sie haben nicht die IIF in der Sie die Farbe an der richtigen Stelle. Es gibt ein paar verschiedene Orte, die Sie könnte dies angeben: es muss in den Eigenschaften der textbox oder den Platzhalter. Der Wert für diese Dinge sollten einfach sein, das dein Feld "Datum" (
=Fields.Decision_Must_Be_Made.Value
), aber die Schriftfarbe muss separat angegeben werden. Ein Ort, um dies zu tun, ist in der Text-Box Eigenschaften " - dialog. Im font-Bereich, müssen Sie die Schriftfarbe. Das Fx-symbol zeigt an, dass können Sie eine Formel angeben. Klicken Sie auf diese Schaltfläche, um einen Ort zu geben Sie Ihrem '=iif...' Formel.Zusätzliche info-Angabe, wo diese Formel sein sollte.
InformationsquelleAutor Jamie F
Zwar dies keine Antwort auf Ihre Szenario, aber vielleicht jemand anderes helfen. Ich hatte ein Problem, wo ein stand-alone-textbox mit einem Szenario, wo ich wollte, eine Fehlermeldung angezeigt, wenn es entweder keine Platte oder doppelte Datensätze. Meine Formel "=IIf(IsNothing(First(Fields!MyField.Wert)) Oder First(Fields!MyField.Wert) <> Letzten(Felder!MyField.Wert), "Rot", "SomeOtherColorButNotBlack"), die nicht die Darstellung des richtigen Vordergrund-Farbe (kam aus "Schwarz") jedoch, dabei ein ähnlicher Ausdruck, entspricht True oder False für ein Tablix-oder Matrix funktioniert einwandfrei. Noch eins für MS zu lösen. Ich fand meine eigene Abhilfe durch Einstellung der Farbe immer rot sein, und der Ausdruck ist der Text leer, wenn keine Fehler.
InformationsquelleAutor Glen