Serienbeschriftungen ausserhalb der Legenden-Box
Ergänzend zu Hilmars Reporting-Service-Blogs
hier eine Möglichkeit, wie man Serienbeschriftungen ausserhalb der Legenden-Box darstellen kann:
Zunächst wird im Chart erneut das Value-Feld hinzugefügt. Als Chart-Typ wird das Linien-Diagramm ausgewählt:
Für das Linien-Diagramm werden die Data-Labels eingeblendet. Hierfür wird mit der rechten Maustaste auf das Chart geklickt und "Show Data-Labels" ausgewählt:
Mit Rechtsklick auf das Data-Label wrid in den Eigenschaften nun ein Ausdruck als Wert in "Label Data" eingegeben:
=IIF(LEFT(Fields!Month.Value,3) = "Dec",Space(8) & Fields!Category.Value, "")
Mit diesem Asudruck wird das Feld "Category" nur angezeigt, wenn es sich um den letzten Monat handelt. Ausserdem werden vor "Category" noch 8 Leerzeichen eingegeben.
Im nächsten Arbeitsschritt wird in den SmartLabels des Linien-Diagramms die Eigenschaft der "NoMoveDirections" eingestellt. Hierzu werden alle Möglichkeiten außer der Richtung "Right" auf True gesetzt:
In den Eigenschaften des Labels wird die Position auf "Right" eingestellt:
Die Linienfarbe des Liniencharts wird nun auf Weiß oder Transparent umgestellt. Die Beschriftung der Serie wird nun auf der rechten Seite jeweils mittig zum entsprechenden Block angezeigt.
Kommentare
Danke für dieses Workaround!
Ich habe nur leider ein Problem: Ich möchte die Serienbeschriftung links haben, wobei mir ssrs die Space() - auch keine Leerzeichen im String direkt - nach der Beschriftung nicht nimmt. Ich dachte, vielleicht hilft ein Alignment (rechts orientiert), aber leider nein.
Haben Sie vielleicht eine Lösung?
Hallo Bettina,
um die Beschriftung komplett links darzustellen, muss im Beispiel der Asudruck im DataLabel von <em>=IIF(LEFT(Fields!Month.Value,3) = “Dec”,Space(8) & Fields!Category.Value, “”)</em> in <em>=IIF(LEFT(Fields!Month.Value,3) = “Jan”,Space(8) & Fields!Category.Value, “”)</em> geändert werden, damit die Beschriftung auf den ersten Wert ("Jan") gelegt wird. Anschließend muss in den Eigenschaften die Position auf "Left" gesetzt werden.
Damit sollte die Beschriftung nun links angezeigt werden.
Viele Grüße
Arno Cebulla
Herzlichen Dank für die Antwort - dies habe ich eh schon angepasst. Das Problem sind bei mir aber die Leerzeichen, damit die Bezeichnung auch außerhalb vom Balken steht:
Bei "Dec"... Space(8) & Fields!Category.Value
Bei "Jan"... Fields!Category.Value & Space(8)
SSRS nimmt bei mir zwar die Leerzeichen VOR dem Text, aber die Leerzeichen NACH dem Text scheint er mir automatisch zu streichen.
Kann ich diese irgendwie erzwingen? Denn so geht bei mir die Beschriftung in den Balken hinein.
Lieben Gruß
Bettina
Sorry, dann habe ich das falsch verstanden. Eine Möglichkeit wäre m.E., in den SmartLabels die NoMoveDirections "Right" auf "True" und "Left" auf "False" zu setzen.
Viele Grüße
Arno Cebulla
Hallo Arno,
Ich habe alles von rechts auf links gestellt, aber wie gesagt, das Programm schneidet mir automatisch die Leerzeichen nach dem Text weg.
Inzwischen hab ich ein Lösung gefunden, indem man am Ende der Leerzeichen einen String mit einem Character anfügt (chr(0)):
Fields!Category.Value & Space(8) & chr(0)
Danke für deine Bemühungen und freue mich auf weitere Tips :-)
Hallo Bettina,
super Lösung. Schön, dass es jetzt funktioniert. Würde mich freuen, wenn du hier im Blog mal wieder vorbeischaust.
Viele Grüße
Arno
Neuen Kommentar schreiben