Arno Cebulla

Wie in diesem Block vor längerer Zeit von Hilmar beschrieben, gibt es einige Möglichkeiten, Charts und Grafiken nach Hichert’s SUCCESS-Regeln mit SSRS zu erstellen. Allerdings ist immer Programmieraufwand erforderlich.

In dieser Blog-Reihe werde ich Beispiele vorstellen, in denen Grafiken ohne „custom code“, also „out oft he box“, nach den Hichert-Regeln mit SSRS erstellt wurden.

Im ersten Teil starten wir mit einem einfachen Beispiel:

Es handelt sich um einen Soll/Ist-Vergleich. Datengrundlage ist wie immer der Adventure Works-Cube.  Das MDX –Query lautet:

with

MEMBER Measures.Target AS [Measures].[Sales Amount Quota]

MEMBER Measures.Actual AS [Measures].[Sales Amount]

SELECT {Measures.Actual,Measures.Target} ON 0,

[Date].[Calendar].[Month] ON 1

FROM

[Adventure Works]

WHERE [Date].[Calendar Year].&[2007]

 

Zunächst wird ein Column-Chart in den Report gezogen und an das Dataset gebunden. Als erster Wert wird „Actual“ ausgewählt.

Als Kategorie und für die Anzeige auf der Horizontalachse wird „Month“ ausgewählt.

Im nächsten Schritt wird als weiterer Wert „Target“ hinzugefügt. Dieser Wert bekommt allerdings den Chart-Typ „Range Column“ zugewiesen. Hierzu mit der rechten Maustaste auf den Wert klicken und die Option „Change Charttype“ auswählen. Danach den Chart-Typ zuweisen:

 

Danach nochmals mit der rechten Maustaste auf den Wert und die Option „Series Properties“ wählen. Als Top value wird die Summe aus „Target“ gewählt, als Bottom value die Summe aus „Actual“:

Unter „Fill“ kann hier auch die Logik für die Ampelfarben hinterlegt werden. Im Beispiel sieht die Expression der Farbwahl so aus:

 =IIF(Fields!Target.Value-Fields!Actual.Value>Fields!Actual.Value*0.1,“Red“,IIF(Fields!Target.Value-Fields!Actual.Value<Fields!Actual.Value*0.25 ,“Green“,“Yellow“))

 Die dargestellten Werte stellen das Delta dar. Um die Anzeige zu positionieren, wird erneut der Wert „Target“ ausgewählt. Ihm zugewiesen wird der Chart-Typ „Line“. Nun die Linie im Chart mit der rechten Maustaste anklicken und die Option „Show Data Labels“ auswählen.

Nun ein Data Label auswählen und mit der rechten Maustaste die Option „Series Label Properties“ wählen:

Unter „Label data“ wird diese Expression eingesetzt:

=(Fields!Target.Value-Fields!Actual.Value)/1000

Erneut mit Rechtsklick auf der Linie die “Series Properties” wählen und unter “Fill” die Farbe auf “No Color” setzen:

Die Range Column-Säulen erhalten nun noch einen weißen Rand. Hierzu mit Rechtsklick wiederum die „Series Properties“ wählen und unter „Border“ entsprechend Farbe und Linienstärke eingeben:

Die Designansicht sollte nun dieses Aussehen haben:

In der Preview-Ansicht ist nun das Ergebnis zu sehen.

Im nächsten Teil geht es dann um die Realisierung dieses Beispiels: