SSRS - Bedingter Text-Formatierung (Ausdrücke mit Schalter)
Öffnen werde ich dies mit der Feststellung, dass die Ausdrücke funktionieren in dem Bericht. Das problem ist, Sie arbeiten nicht zusammen.
Momentan habe ich die Kopfzeile einer Spalte formatiert auf der Grundlage der Werte von zwei Spalten. Kursiv und Unterstrichen basierend auf dem Wert der Spalte 1. Fett und eine bestimmte Farbe basierend auf dem Wert von spalte2. Ich Tue dies mit Hilfe des Schalters Ausdrücke in den text-Eigenschaften. Hier ist was ich habe für jeden:
=Switch(Fields!Column1.Value <> "Specific Value","Italic",Fields!Column1.Value = "Specific Value","Normal")
=Switch(Fields!Column1.Value <> "Specific Value","Underline",Fields!Column1.Value = "Specific Value","None")
=Switch(Fields!Column2.Value <= 7,"ExtraBold",Fields!Column2.Value >=` 8,"Normal")
=Switch(Fields!Column2.Value <= 7, "Red",Fields!Column2.Value >= 8,"#586d7f")
Und ein Bild zu zeigen, Sie sind alle gekennzeichnet:
Wenn ich den Bericht ausführen, gibt es keine Fehler.
Das seltsame (zumindest für mich) ist, die Ergebnisse sollten wie folgt Aussehen:
- Normalen
- Fett und rot
- Kursiv und Unterstrichen
- Alle vier (Fett, Kursiv, rot und Unterstrichen)
In einer situation, wo der text Aussehen soll, 4 es sieht aus wie 2. Alles andere funktioniert wie es soll, so bin ich ein bisschen ratlos und würde gerne eine Erklärung, warum dies der Fall ist. Ich schaute, um zu sehen, wenn dies wurde beantwortet vor, aber basierend auf dem, was ich sah, es nicht, wie es scheint. Wenn ich eine falsche Terminologie, ich entschuldige mich (ich bin ziemlich neu hier).
Ich habe gerade versucht, und es hat den trick. Ich hatte überlegt, aber konnte nicht sehen, welchen Unterschied es gemacht werden würde. Keine Ahnung warum das funktionieren würde, aber wechseln Sie nicht?
Schrieb eine ausführliche Antwort weiter unten für Sie.
InformationsquelleAutor Facegames TC | 2013-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde die Verwendung einer IIF () - Anweisung anstelle.
Generell ein switch ist ein 'case' - Anweisung für mehrere Ereignisse und eine IIF-Anweisung ist eine typische "wenn, dann, sonst" - Anweisung. Die Gefahr wird, dass Sie nest IIF-Anweisungen wie IIF(thing, 'set1', iif(thing2, 'set2', 'default')) aber es wäre einfacher, einen Schalter wie Schalter(thing, 'set1, thing2, 'set2', 'default'). Das problem mit den Schaltern ist, wenn ein Ereignis etwas passiert, der beiden einem Ding und einem anderen nimmt es die erste ist wahr und einfach führt. Damit Sie berücksichtigen müssen, für die richtige Reihenfolge von etwas auftreten oder es übernehmen die erste Instanz. Im Allgemeinen, wenn Sie haben eine Instanz von etwas, und ein Standard den ich verwenden IIF. Wenn es ein problem mit einem Schalter, ich werde tun, eine geschachtelte IIF-Regel oder die Reihenfolge der Ereignisse, die der Switch-Anweisung.
Ich hoffe, das hilft ein wenig.
InformationsquelleAutor djangojazz