orangeBI Toolkit für Reporting Services für MS SQL Server Reporting Services INHALT 1 EINLEITUNG ....................................................................................................................................... 1 2 ABWEICHUNGSBALKEN ................................................................................................................. 2 2.1 Absolute Abweichung .......................................................................................................................................... 2 2.2 Relative Abweichung ........................................................................................................................................... 3 3 BEREITSTELLUNG DER RS DLL ................................................................................................... 5 3.1 Voraussetzungen .................................................................................................................................................. 5 3.2 Installation............................................................................................................................................................ 5 3.3 Referenzierung in einem Bericht ......................................................................................................................... 7 4 4.1 ERZEUGUNG VON ABWEICHUNGSBALKEN ............................................................................ 8 Vorbereitung ........................................................................................................................................................ 8 4.1.1 Platzhalter ................................................................................................................................................... 8 4.1.2 Textfeldeigenschaften ................................................................................................................................. 9 4.2 Absolute Abweichung .......................................................................................................................................... 9 4.3 Relative Abweichung ......................................................................................................................................... 13 5 ARCHITEKTONISCHE EMPFEHLUNGEN ................................................................................. 16 5.1 Berichtweite Nutzung ........................................................................................................................................ 16 5.2 Serverweite Nutzung .......................................................................................................................................... 17 6 PARAMETER FÜR DIE ABWEICHUNGSBALKENFUNKTIONEN ........................................ 18 7 NACHTRAG - LIZENZBEDINGUNGEN ....................................................................................... 20 I für MS SQL Server Reporting Services 1 EINLEITUNG In vielen Berichten werden Zahlen und Fakten miteinander verglichen. Der aktuelle Umsatz dieses Monats wird mit dem des letzten verglichen; ebenso der voraussichtliche Absatz der Produkte mit dem Absatz des aktuellen Monats. Um solche Abweichungen grafisch dazustellen, muss die eingesetzte Technologie die Darstellung von Diagrammen unterstützen. Wiederverwendbarkeit und eine stabile Konstruktion sind, im Gegensatz zu individuellen Diagrammanpassungen, unverzichtbar für jede Abweichungsdarstellung. Das orangeBI Toolkit für Reporting Services enthält zwei Funktionen für die visuelle Präsentation von Abweichungen zwischen zwei Werten. Als Show Case zeigt dieses Dokument anhand von MS Reporting Services 2008-Berichten die Nutzung der Funktionen dieser Bibliothek und verdeutlicht, wie diese dem Anwender Abweichungen präsentiert. 1 für MS SQL Server Reporting Services 2 ABWEICHUNGSBALKEN Die in diesem Dokument vorgestellten grafischen Abweichungsbalken unterstützen Nutzer, die unmittelbaren Differenzen in ihren täglichen Geschäftsberichten zu sehen. Mit der Bestrebung, oben erwähnte Abweichungen in Berichten oder Präsentationen sinnvoll darzustellen, entstehen täglich neue technische Lösungsansätze. Mit den in diesem Abschnitt behandelten Abweichungsbalken ist die Form der Darstellung zentral organisiert und einfach wiederverwendbar. 2.1 Absolute Abweichung Der absolute Abweichungsbalken stellt Diskrepanzen in Form einer absoluten Zahl dar. Als Anwendungsbeispiel dient hier die Darstellung der absoluten Abweichung zwischen den aktuellen und erwarteten Werkzeugeinkäufen eines Unternehmens: Unterschiedliche Farbgebung stellt im Folgenden Tendenzen dar und hebt diese hervor. Gerät die Firma durch einen hohen Absatz der Werkzeuge in einen Lieferengpass, sollte dies alarmierend wahrnehmbar sein. Aus diesem Grund können Tendenzen auf der positiven (rechten) Seite rot eingefärbt werden. Wenn die absolute Abweichung allerdings zwischen den aktuellen und den erwarteten Verkäufen dargestellt werden soll, kann die Tendenz auf der positiven (rechten) Seite mit einer grünen Einfärbung hervorgehoben werden. Mehr Verkäufe führen zu einem größeren Umsatz, was zumeist eine gute Tendenz darstellt. Das orangeBI Toolkit bietet die individuelle Definition der Darstellungsfarbe (jeder Farbwert nutzbar!) für positive und negative Abweichungen. Eine flexible Darstellungsform ist somit jederzeit gewährleistet (siehe Abbildung 1). 2 für MS SQL Server Reporting Services Abbildung 1: Absolute Abweichung Ebenfalls anpassbar sind das Zahlenformat -je nach Land-, sowie die gewünschte Anzahl von Nachkommastellen. 2.2 Relative Abweichung Relative Abweichungen sind wichtig, um die Entwicklung von Werten auf standardisierte Weise darzustellen. Die wichtigsten Unterschiede zu den absoluten Abweichungsbalken sind die Art der Berechnung einerseits und die Veranschaulichung im Diagramm andererseits. Um eine sichtbare Unterscheidung zur absoluten Darstellung zu liefern, werden Balken und Wert in einem anderen Format dargelegt (siehe Abbildung 2). 3 für MS SQL Server Reporting Services Abbildung 2: Relative Abweichung Der relative Balken besteht aus einer schwarzen Linie mit einem farbigen Quadrat zur Kennzeichnung der relativen Natur des Wertes. Außerdem werden die Werte kursiv und mit in einer grauen Schriftfarbe dargestellt. Die Färbung des Quadrats identifiziert sowohl gute wie auch schlechte Ergebnisse. Alle anderen Formatierungen, wie Sprache oder Zahlenformat (“N1”, etc.), können ebenfalls auf die gleiche Weise wie die der absoluten Abweichungsbalken umgesetzt werden. 4 für MS SQL Server Reporting Services 3 BEREITSTELLUNG DER RS DLL Dieser Abschnitt beschreibt, wie die Bibliothek für einen Reporting Services Server bereitgestellt wird. 3.1 Voraussetzungen Eine installierte Instanz von MS SQL Server Reporting Services mit mindestens der Version 2008 und das entsprechende Visual Studio 2008 wird für eine Verwendung des orangeBI Toolkits (RS DLL) benötigt. 3.2 Installation Um das orangeBI Toolkit nutzen zu können, muss es installiert werden. 1. Kopieren Sie die Installationsdateien auf den Server, auf dem MS SQL Server Reporting Services laufen. 2. Starten Sie die Installation mit der Datei Setup.exe mit einem Doppelklick. 3. Es öffnet sich ein Fenster, in dem die gewünschte Sprache für das Installationsprogramm gewählt werden kann, wie in Abbildung 3 zu sehen ist. Abbildung 3: Sprachauswahl während der Installation Wählen Sie mit Hilfe der Auswahlliste eine Sprache aus. 4. Mit Klick auf OK öffnet sich der PTS Group Reporting Services Library Installation Wizard. Mit Weiter erscheint die Komponentenauswahl (Abbildung 4). 5 für MS SQL Server Reporting Services Abbildung 4: Komponentenauswahl während der Installation 5. Es müssen die gewünschten Komponenten gewählt werden, die installiert werden sollen: Bereitstellung des orangeBI Toolkits für Reporting Services, für Visual Studio und das Ablegen der Dokumentation bzw. der Beispielberichte. 6. Nachdem die gewünschten Features ausgewählt wurden, gelangt der Benutzer mittels Klick auf Weiter zu dem Fenster, in dem festgelegt wird, in welche Verzeichnisse die Komponenten installiert werden sollen (Abbildung 5). In dieser Maske müssen das Installationsverzeichnis der Reporting Server Instanz sowie der Visual Studio 2008 Installation angegeben werden. Der Pfad für Dokumentation und Beispieldateien ist frei wählbar. 6 für MS SQL Server Reporting Services Abbildung 5: Festlegen der Installationsverzeichnisse während der Installation 7. Es werden die Standardinstallationsverzeichnisse von Reporting Services und Visual Studio angeboten. Sollten sich die Pfade auf dem Zielserver von den Standardinstallationsverzeichnissen unterscheiden, müssen sie hier angegeben werden. 8. Mit Klick auf Weiter installiert sich das orangeBI Toolkit. Mit Beenden ist die Installation abgeschlossen. Das Toolkit steht nun zur Verwendung bereit. 3.3 Referenzierung in einem Bericht Um die Funktionen der Bibliothek im Report Designer nutzen zu können, muss das orangeBI Toolkit zu den Berichtsreferenzen hinzugefügt werden. 1. In dem Menü Report Properties klicken. 2. In dem Report Properties Fenster erlaubt ein References Feld die Einstellung der Abhängigkeit, wie in Abbildung 6 demonstriert wird. Abbildung 6: Einstellen einer Berichtsreferenz 3. Das orangeBI Toolkit muss mit Hilfe des Add Reference Fensters hinzugefügt werden. 7 für MS SQL Server Reporting Services 4 ERZEUGUNG VON ABWEICHUNGSBALKEN Dieser Abschnitt erläutert, wie die Abweichungsbalkenfunktionen in MS Reporting Services 2008 verwendet werden. 4.1 Vorbereitung In MS Reporting Services werden zwei Textfelder für die Verwendung der Abweichungsbalkenfunktion gebraucht. Ein Textfeld zeigt den linken Teil der Abweichung und das andere den rechten Teil der Abweichung. Im Report Designer wird eine Tabelle mit mindestens zwei Textfeldern nebeneinander benötigt. 4.1.1 Platzhalter Das Toolkit beinhaltet zwei öffentliche Funktionen zur Generierung von Abweichungsbalken. Diese Funktionen können direkt aus dem Bericht mit den benötigten Parametern aufgerufen werden. Das Ergebnis ist immer ein grafischer Balken, der eine berechnete Abweichung in Form von HTML Code anzeigt. Um den grafischen Balken korrekt anzuzeigen, werden Platzhalter in den Reporttextfeldern benötigt (siehe Abbildung 7). Abbildung 7: Erzeugung eines Platzhalters Platzhalter sind wie kleine Textfelder innerhalb eines Textfeldes. Sie können frei formatiert werden. Zudem können sie HTML Code interpretieren. Der HTML Code wird von Reporting Services interpretiert, wenn die „Interpret HTML tags as styles“-Eigenschaft des Platzhalters gesetzt wird. Abbildung 8 stellt dies dar. Falls die Eigenschaft nicht gesetzt ist, stellen Reporting Services den HTML Code als Klartext dar. 8 für MS SQL Server Reporting Services Abbildung 8: Einstellung der Platzhaltereigenschaften 4.1.2 Textfeldeigenschaften Das Textfeld mit dem Platzhalter benötigt einige spezifische Eigenschaften, um die Abweichungsbalken ordnungsgemäß anzuzeigen (siehe Tabelle 1). Textbox (left, right) Property Value(s) both Padding 0pt both Vertical Align Middle left Border Right Black, Solid both Font Size <Arbitrary> Tabelle 1: Textfeldeigenschaften für den Nutzen mit Abweichungsbalkenfunktionen Wichtig ist das Setzen der Eigenschaft Padding auf 0pt auf allen Seiten. Weiterhin muss die Eigenschaft Vertical Align den Wert middle besitzen. Um ein besseres Aussehen zu erhalten, muss dem linken Textfeld ein schwarzer Rahmen auf der rechten Seite hinzugefügt werden. Es ist möglich, die Größe der Balken und der Werteanzeige zu ändern, indem die Schriftgrößeneigenschaft des Textfeldes verändert wird. Es wird ein Wert von 8 oder 10pt empfohlen. Alle anderen Eigenschaften wie Farbe, Zahlenformat, etc. werden von den Abweichungsbalkenfunktionen bestimmt. Dies wird in den folgenden Abschnitten im Detail erklärt. 4.2 Absolute Abweichung In Listing 1 wird ein Beispielaufruf von GetDeviationBar gezeigt. Alle Parameter werden im Detail in Tabelle 3 des Anhangs beschrieben. Der Ausdruck wird in den Platzhalter eines Textfeldes geschrieben. 9 für MS SQL Server Reporting Services =PTS.RS.Common.Deviations.GetDeviationBar( Fields!Actual.Value , Fields!Budget.Value , 100 , "left" , 10 , Nothing , Nothing , Nothing , Nothing , Nothing) Listing 1: Ein einfacher Aufruf von GetDeviationBar Die Angabe von left bestimmt die Ausrichtung des Balkens und muss folgerichtig im linken der beiden Textfelder verwendet werden. Entsprechend muss für das rechte Textfeld right auf diese Position gesetzt werden. Die Werte Actual und Budget, aus denen die Abweichung berechnet wird, werden übergeben. Der Parameter 10 für maxValue setzt die verfügbaren Zeichen auf 10; „100“ bestimmt die maximale Abweichung, die angezeigt werden soll. Jede Abweichung, die 100 übersteigt, wird somit in der Form +500 ► dargestellt. In Abbildung 9 wird das Ergebnis dargestellt. Abbildung 9: Ergebnis von dem einfachen Aufruf von GetDeviationBar Jetzt ist es möglich, die Zahlenformate anzupassen. Das wurde in Listing 2 getan. 10 für MS SQL Server Reporting Services =PTS.RS.Common.Deviations.GetDeviationBar( Fields!Actual.Value , Fields!Budget.Value , 100 , "left" , 10 , Nothing , Nothing , Nothing , "N1" , "en-US") Listing 2: Erweiterte Nutzung von Parametern der GetDeviationBar-Funktion Bei der erweiterten Nutzung der Parameter wird customFormat auf “N1” gesetzt, was zu Werten mit einer Dezimalstelle führt. Die standardmäßige Anzeige von Werten ist von ihrem Bereich abhängig, wie in Tabelle 3 beschrieben ist. Außerdem ist der Parameter userLanguage auf en-US gesetzt, während der standardmäßige Wert de-DE ist. Das Ergebnis ist ein Punkt anstatt eines Kommas als Dezimaltrennzeichen. Abbildung 10 zeigt die angepassten Zahlenformate an. Abbildung 10: Ergebnis der erweiterten Nutzung von Paramtern der GetDeviationBar Dem Benutzer steht es frei, verschiedene Farben sowohl für gute als auch für schlechte Abweichungen zu wählen oder diese gar zu entfernen. Durch das Festlegen von Werten für die Parameter leftColor und rightColor werden die Standardwerte rot und grün durch Parameterwerte ersetzt. Außerdem ist es in manchen Fällen notwendig, die Seiten der Farben auszutauschen. Kosten werden in der Regel in entgegengesetzter Weise wie Gewinne dargestellt. Listing 3 zeigt, wie die Farben verändert und vertauscht werden. 11 für MS SQL Server Reporting Services =PTS.RS.Common.Deviations.GetDeviationBar( Fields!Actual.Value , Fields!Budget.Value , 100 , "left" , 10 , True , "#ff8a00" , "#0000ff" , "N1" , "en-US") Listing 3: Komplette Nutzung von GetDeviationBar-Parametern Die Parameter rightColor und leftColor sind auf blau und orange gesetzt. InvertColors ist auf true gesetzt. Der Balken nutzt die Farben nun in umgekehrter Weise. Orange ist zum Beispiel auf der rechten Seite, wie in Abbildung 11 zu sehen ist. Abbildung 11: Ergebnis des Farbwechsels mit GetDeviationBar Zu wissen, wie die Funktionen genutzt werden, ermöglicht es dem Entwickler, alle Anpassungen durchzuführen. Der kommende Abschnitt beschreibt die Funktion zu Darstellung relativer Abweichungen. 12 für MS SQL Server Reporting Services 4.3 Relative Abweichung Dieses Kapitel zeigt die beispielhafte Anwendung der Funktion GetDeviationBarPercents. Die Signatur entspricht der der Funktion GetDeviationBar. Listing 4 zeigt ein grundlegendes Beispiel, wie die Funktion genutzt wird. =PTS.RS.Common.Deviations.GetDeviationBarPercents( Fields!Actual.Value , Fields!Budget.Value , Nothing , "left" , 10 , Nothing , Nothing , Nothing , Nothing , Nothing) Listing 4: Regulärer Aufruf von GetDeviationBarPercents Die Angabe von left bestimmt die Ausrichtung des Balkens und muss folgerichtig im linken der beiden Textfelder verwendet werden. Entsprechend muss für das rechte Textfeld right auf diese Position gesetzt werden. Actual und Budget sind die Werte, aus denen die Abweichung berechnet wird. „10“ ist die Angabe für den Parameter maxLength. Dieser gibt an, wie viele Zeichen für den Balken verfügbar sind. Das Ergebnis ist in Abbildung 12 dargestellt. Abbildung 12: Ergebnis von dem regulären Aufruf von DeviationBarPercents 13 für MS SQL Server Reporting Services Die Anzeige des Pfeils (“►”) beschreibt Ausreißer von Abweichungen. Auf diese Weise sind Abweichungen, die in einem normalen Bereich liegen, besser miteinander sicht- und vergleichbar. Die Ausreißer zerstören dadurch nicht die Darstellungsform der übrigen Werte, sind aber noch immer sichtbar. Die Funktionen zur Darstellung der Abweichungsbalken haben den Parameter maxDeviation, der es ermöglicht, diesen Grenzwert zu definieren. Das folgende Beispiel soll alle Abweichungen als Balken darstellen und auch die Ausreißer erfassen (Listing 5). =PTS.RS.Common.Deviations.GetDeviationBarPercents( Fields!Actual.Value , Fields!Budget.Value , Max((Fields!Actual.Value / Fields!Budget.Value - 1) * 100, "Data") , "left" , 10 , Nothing , Nothing , Nothing , Nothing , "en-CA") Listing 5: Erweiterte Nutzung von GetDeviationBarPercents Der Parameter maxValue ist auf die maximale Abweichung von allen Vergleichen der angegebenen Datenmenge gesetzt. Zudem ist die Sprache für dieses Beispiel auf Canadian English eingestellt. Das Ergebnis wird in Abbildung 13 dargestellt. Abbildung 13: Ergebnis von dem erweiterten Nutzen von GetDeviationBarPercents Die Firma, die den Bericht erstellt, möchte ihn extern nutzen. Um das öffentliche Erscheinungsbild bei Branchenkennern zu verbessern, sollen die Farben geändert werden (Listing 6). 14 für MS SQL Server Reporting Services =PTS.RS.Common.Deviations.GetDeviationBarPercents( Fields!Actual.Value , Fields!Budget.Value , Max((Fields!Actual.Value / Fields!Budget.Value - 1) * 100, "Data") , "left" , 10 , Nothing , "#BBBBBB" , "#00FF00" , Nothing , "en-CA") Listing 6: Farbaustausch mit GetDeviationBarPercents Die Farbenparameter sind auf ein helles Grau und ein leuchtendes Grün festgelegt. Die Parameter customFormat und invertColors werden nicht gebraucht, weil das Format die standardmäßige Logik beibehalten soll, die in Tabelle 3 im Anhang besprochen wird. Die Farben sind daher in diesem Beispiel nicht invertiert. Abbildung 14 zeigt das Ergebnis der Funktion. Abbildung 14: Ergebnis für den Farbwechsel mit GetDeviationBarPercents Hier lässt die benutzerdefinierte Farbe die negative Abweichung in den Hintergrund treten, während die positive Abweichung für die betrachtende Person mehr Präsenz erhält. Grundsätzlich wird dieser Ansatz nicht empfohlen, um Abweichungen beispielsweise zwischen aktuellem und zu erwartendem Gewinn darzustellen, während sich aus Gründen des Marketings oder anderen Beweggründen diese Art der Darstellung empfiehlt. 15 für MS SQL Server Reporting Services 5 ARCHITEKTONISCHE EMPFEHLUNGEN Es kann eine Herausforderung sein, alle Parameter für jeden Funktionsaufruf jedes Mal erneut zu setzen, besonders, wenn die meisten der Parameter sich ständig in den unterschiedlichen Berichten wiederholen. Dieser Abschnitt behandelt zwei Standardszenarien, die Lösungsansätze aufzeigen, auf unkompliziertem Wege mehr Wartbarkeit zu erreichen. 5.1 Berichtweite Nutzung Eine berichtweite Nutzung bedeutet, dass der Abweichungsbalken in diesem Bericht auf eine Weise -und in einem anderen Report auf eine andere Weise- gezeigt wird. In manchen Berichten können die Parameter für comparisonValue und basicValue selbst eine komplexe Berechnung sein. Zusammen mit einem Aufruf einer Abweichungsbalkenfunktion wäre der Ausdruck mit allen Parametern kaum lesbar. Um die Komplexität zu überwinden, wird empfohlen, einen Wrapper in das Code-Objekt des Berichtes zu schreiben. Dieser Wrapper setzt Parameter, die sich nicht ändern. Abbildung 15 zeigt zwei Wrapperfunktionen: leftDeviation und rightDeviation, eine für jede Seite. Abbildung 15: Wrapper für eine Abweichungsbalkenfunktion im Code Objekt eines Berichts Diese Wrapper überlassen dem Entwickler nur zwei Parameter, um sie innerhalb des Report Designers zu setzen. Listing 7 zeigt solch einen Aufruf. =code.leftDeviation( Fields!Actual.Value , Fields!Budget.Value) Listing 7: Aufruf einer Wrapper-Funktion Das Ergebnis ist das Gleiche wie bei einem direkten Aufruf der Abweichungsbalkenfunktion. Ein weiterer Vorteil ist die Möglichkeit, einen Parameter (zum Beispiel das Zahlenformat) in einem einzigen Punkt zu ändern. Auf diese Weise wird die Fehlerwahrscheinlichkeit beträchtlich gesenkt. Somit ist die Komplexität reduziert und Wartbarkeit erhöht. 16 für MS SQL Server Reporting Services 5.2 Serverweite Nutzung Manche Einstellungen, wie Farben oder Zahlenformate, sind für eine Business Intelligence-Lösung universell einsetzbar. So Unternehmen haben das Bestreben, ihre eigenen Farben in den Berichten zu sehen oder Englisch als verwendete Sprache zu definieren. Der vorherige Abschnitt beschreibt die berichtweite Anwendung der Abweichungsbalkenfunktionen. Der kommende Abschnitt beschreibt die Situation, dass eine umfassende Berichtslösung mit vielen Berichten existiert und eine Farbe allgemein geändert werden soll. Eine berichtsweite Kapselung würde unvermeidlich zur Anpassung aller Berichte führen, die die Abweichungsbalkenfunktionen verwenden. Die Lösung ist eine serverweite Kapselung der Abweichungsbalkenfunktionen. Für dieses Szenario muss eine benutzerdefinierte Bibliothek gebaut werden, die eine Wrapper-Funktion enthält, die das referenzierte Toolkit und eine der originalen Abweichungsbalkenfunktionen aufruft. In diesen Wrapper werden Funktionsparameter wie Farbe und Zahlenformatierung als Konstante übergeben. Die benutzerdefinierte Bibliothek wird wie das Toolkit, um die es in diesem Dokument geht, bereitgestellt und referenziert. Es wird empfohlen, dass der Bericht nach wie vor die Wrapper-Funktion des Code Objekts nutzen sollte. Hier sind nur die notwendigen Parameter gekapselt. Zum Beispiel kann der invertColor Parameter, der die zwei Farben miteinander austauscht, berichtsweit gesetzt werden, falls Kosten statt Gewinn angezeigt werden. Tabelle 2 zeigt die empfohlenen Wrapping Level für die Abweichungsbalkenfunktionen. Parameter Wrapping Level comparisonValue Direkt basisValue Direkt maxDeviation Direkt orientation Bericht maxLength Bericht invertColors Bericht leftColor Server rightColor Server customFormat Server userLanguage Server Tabelle 2: Empfohlene Wrapping Level für Abweichungsbalkenfunktionen Der Entwickler muss sich der Tatsache bewusst sein, dass je nach Flexibilität und Szenario manche der Empfehlungen in bestimmten Fällen nicht anwendbar sind. 17 für MS SQL Server Reporting Services 6 PARAMETER FÜR DIE ABWEICHUNGSBALKENFUNKTIONEN Alle Parameter der Abweichungsbalkenfunktionen werden in Tabelle 3 beschrieben. Parameter comparisonValue Type Decimal Beschreibung Setzt den Wert, der mit dem basisValue verglichen wird. basisValue Decimal Setzt den Wert mit dem verglichen wird. Er wird gebraucht um die Abweichung von comparisonValue zu berechnen. maxDeviation Decimal Dieser Parameter definiert den Wert, der der maximalen Balkenlänge entspricht. Für alle Datensätze, bei denen der resultierende Wert größer als dieser maxValue Parameter ist, wird das Ergebnis wie “+500 ►” angezeigt. Andernfalls wird der Balken relativ zu dem maxValue angezeigt. Der Standardwert ist 100. orientation String Definiert ob eine Funktion die rechte, oder die linke Seite des Balken wiedergibt, mögliche Werte sind „left“ (linke Seite) und „right“ (rechte Seite). maxLength Int Legt die maximale Länge der Balken anhand der Anzahl der verfügbaren Zeichen fest. invertColors Bool Wenn false, dann wird die rechte Seite grün angezeigt und die linke Seite rot. Wenn true, dann ist die rechte Seite rot und die linke grün (z.B. Anzeige der Kosten). Die gleiche Logik wird angewandt, wenn statt der Standardfarben Rot und Grün andere Farben gesetzt sind. Der Standardwert ist false. leftColor String Beim Nutzen dieses Parameters wird die Standardfarbe rot überschrieben. Alle kompatiblen HTML Farbenwerte werden unterstützt. rightColor String Beim Nutzen dieses Parameters wird die Standardfarbe grün überschrieben. Alle kompatiblen HTML Farbenwerte warden unterstützt. Das benutzerdefinierte Format legt fest, wie der Zahlenwert angezeigt wird. Zum Beispiel würde “N1” alle numerischen Werte mit einer Dezimalstelle anzeigen. Falls der Parameter nicht gesetzt ist, wird die folgende Logik angewandt: customFormat String • • • userLanguage String Für Werte geringer als 10 werden zwei Dezimalstellen angezeigt (z.B. 1.11) Werte zwischen 10 und 100 werden mit einer Dezimalstelle angezeigt(z.B. 11.1) Höhere Werte werden mit keiner Dezimalstelle angezeigt (z.B. 111) Legt das Sprachformat der Zahlen fest. Es wird ein String für eine Sprache wie de-DE erwartet. Eine typische Anwendung ist das Nutzen des Reporting Services built-in Parameters User!Language. Der Standardwert für die Sprache ist Deutsch de-DE. 18 für MS SQL Server Reporting Services Tabelle 3: Parameter der Abweichungsbalkenmethoden 19 für MS SQL Server Reporting Services 7 NACHTRAG - LIZENZBEDINGUNGEN § 1 Gegenstand 1 Diese Bedingungen gelten für die vom Lizenznehmer von PTS erworbene Software nebst dazugehörender Dokumentation – hier PTS Produkte genannt. 2 Allgemeine Geschäftsbedingungen des Lizenznehmers finden keine Anwendung. § 2 Preise und Zahlungsbedingungen 1 Soweit nicht anders geregelt, gelten die in der aktuellen Preisliste von PTS aufgeführten Lizenzgebühren und Zahlungsbedingungen für PTS Produkte. 2 Alle Preise von PTS verstehen sich ausschließlich der gültigen gesetzlichen Mehrwertsteuer. 3 Grundsätzlich sind Rechnungen innerhalb von 30 Tagen zahlbar. Kommt der Lizenznehmer in Zahlungsverzug, ist PTS berechtigt, den gesetzlichen Verzugszins zu berechnen. 4 PTS hat das Recht zur außerordentlichen Kündigung des Lizenzvertrags, wenn der Lizenznehmer mit der Zahlung der Vergütung um mehr als einen Monat in Verzug ist. § 3 Nutzungsumfang 1 PTS räumt dem Lizenznehmer gegen Bezahlung einer Lizenzgebühr ein nicht ausschließliches, zeitlich unbeschränktes Recht für die Nutzung der Produkte ein. 2 Der Lizenznehmer ist nicht berechtigt, PTS Produkte zu bearbeiten, ihr Arrangement zu ändern oder andere Umarbeitungen, einschließlich von Fehlerberichtigungen vornehmen. Weiterhin ist der Lizenznehmer nicht berechtigt, die Software zurück zu entwickeln – sog. Reverse-engineering –, zu dekompilieren oder auf eine andere Art und Weise in Quell-Code oder in eine andere für den Menschen lesbare Form zu übersetzen. 3 Der Lizenznehmer ist berechtigt, von den PTS Produkten Sicherungskopien anzufertigen, soweit dies dem üblichen Gebrauch entspricht. 4 PTS ist berechtigt, aber nicht verpflichtet, Aktualisierungen der PTS Produkte (Updates) zu erstellen. § 4 Nutzungsumfang 1 Der Lizenznehmer PTS bleibt Inhaber aller Rechte am Lizenzprodukt, auch wenn der Lizenznehmer das Lizenzprodukt verändert oder mit seinen eigenen Programmen oder denjenigen eines Dritten verbindet. Die dem Lizenznehmer überlassene Dokumentation bleibt im Eigentum des Lizenzgebers. 2 Hiervon ausgenommen ist die Rechtseinräumung nach §3 für das Lizenzprodukt und die Dokumentation während der Laufzeit dieses Vertrages. § 5 Dokumentation 1 Die Lieferung einer Dokumentation zur ausgelieferten PTS Software wird nur dann geschuldet, wenn dies schriftlich zwischen den Parteien vereinbart worden ist. 20 für MS SQL Server Reporting Services 2 Die Lieferung der Dokumentation in englischer Sprache ist zulässig. § 6 Geheimhaltung 1 Die Vertragsparteien werden nicht allgemein bekannte Daten, die eindeutig als vertraulich gekennzeichnet sind und der jeweils anderen Partei zur Durchführung der vereinbarten Leistungen zur Verfügung gestellt werden, vertraulich behandeln. 2 Die Verpflichtung zur vertraulichen Behandlung gilt nicht für Ideen, Konzeptionen, Know-how und Techniken, die sich auf die Informationsverarbeitung im Allgemeinen beziehen. Sie gilt ferner nicht für Daten, die der anderen Vertragspartei bereits bekannt sind oder außerhalb dieses Vertragsverhältnisses aus allgemeinen Quellen bekannt werden. Gesetzliche Verpflichtungen zur Geheimhaltung bleiben unberührt. 3 Besteht bei vertraulichen personenbezogenen Daten, welche der Lizenznehmer PTS zur Leistungserbringung offenlegen muss, ein über die Geheimhaltungs- und Datenschutzmaßnahmen von PTS hinausgehendes Schutzbedürfnis, so ist vom Lizenznehmer vor Übergabe dieser Daten über ihre Übergabe und Behandlung mit PTS eine ergänzende Vereinbarung herbeizuführen. § 7 Überlassung und Weitergabe der Produkte 1 Der Lizenznehmer ist zur Weitergabe (Veräußerung) der PTS Produkte an Dritte nur berechtigt, soweit PTS hierzu vorgängig schriftlich zustimmt. 2 Der Lizenznehmer ist unter keinen Umständen berechtigt, die PTS Produkte auf Dauer oder vorübergehend an Dritte ohne schriftliche Zustimmung von PTS zu vermieten, zu verleasen oder sonst dritten Parteien zugänglich zu machen. Arbeitnehmer des Lizenznehmers gelten nicht als Dritte, solange die Überlassung zur Erfüllung der Aufgaben der Arbeitnehmer erfolgt. 3 Der Handel mit durch Download erworbenen, gebrauchten Lizenzen von PTS Produkten ist nicht zulässig. § 8 Gewährleistung 1 PTS gewährleistet für einen Zeitraum von zwölf Monaten ab dem Zeitpunkt der Übergabe, dass die PTS Produkte hinsichtlich ihrer Funktionsweise im Wesentlichen der Programmbeschreibung im begleitenden Benutzerhandbuch/Angebot entspricht; unwesentliche Abweichungen sind dabei unbeachtlich. 2 Macht der Lizenznehmer einen Mangel geltend, so sind in einer schriftlichen Mängelrüge der Mangel und seine Erscheinungsform so genau zu beschreiben, dass eine Überprüfung des Mangels (z. B. Vorlage der Fehlermeldungen) und der Ausschluss eines Bedienungsfehlers (z. B. Angabe der Arbeitsschritte) möglich sind. Der Lizenznehmer erklärt sich für den Fall, dass der Fehler durch die überlassenen Unterlagen nicht nachvollziehbar ist, damit einverstanden PTS via Remote-Verbindung den erforderlichen Zugang auf die jeweiligen Systeme zu gewähren. 3 Soweit die Mängelrüge berechtigt ist, hat PTS innerhalb einer angemessenen Frist den Mangel zu beheben und die PTS Produkte zu verbessern. PTS ist berechtigt die Nacherfüllung zu verweigern, wenn diese nur mit unverhältnismäßigen Kosten für sie verbunden ist. In diesem Fall ist ein Rücktritt vom Vertrag möglich. Sobald der 21 für MS SQL Server Reporting Services Lizenznehmer sein Recht zur Rückgängigmachung dieser Vereinbarung ausübt, endet sein Nutzungsrecht an den PTS Produkten. In diesem Fall muss der Lizenznehmer die PTS Produkte von allen Speichermedien entfernen, sämtliche Kopien der PTS Produkte zerstören und PTS hiervon schriftlich Mitteilung machen. Der Rücktritt wegen eines unerheblichen Mangels ist ausgeschlossen. 4 Hat der Lizenznehmer PTS wegen Gewährleistung in Anspruch genommen, und stellt sich heraus, dass entweder kein Mangel vorhanden ist oder der geltend gemachte Mangel PTS nicht zur Gewährleistung verpflichtet, so hat der Lizenznehmer, sofern er die Inanspruchnahme grob fahrlässig oder vorsätzlich zu vertreten hat, allen PTS entstandenen Aufwand zu ersetzen. § 9 Haftung 1 Über diese Gewährleistung hinaus haftet PTS nur bei Vorsatz und grober Fahrlässigkeit nach den gesetzlichen Vorschriften. Bei leichter Fahrlässigkeit haftet PTS nur, wenn eine wesentliche Vertragspflicht (Kardinalspflicht) verletzt wird oder ein Fall des Verzuges oder der Unmöglichkeit vorliegt. Im Fall einer Haftung aus leichter Fahrlässigkeit wird diese Haftung auf solche Schäden begrenzt, die vorhersehbar bzw. typisch sind. Eine Haftung für das Fehlen der garantierten Beschaffenheit, wegen Arglist, für Personenschäden, Rechtsmängel, nach dem Produkthaftungsgesetz und dem Bundesdatenschutzgesetz bleibt unberührt. 2 Im Fall einer Inanspruchnahme von PTS aus Gewährleistung oder Haftung ist ein Mitverschulden des Lizenznehmers bzw. seiner Mitarbeiter angemessen zu berücksichtigen, insbesondere bei unzureichenden Fehlermeldungen oder unzureichender Datensicherung. Unzureichende Datensicherung liegt insbesondere dann vor, wenn der Lizenznehmer es versäumt hat, durch angemessene, dem Stand der Technik entsprechende Sicherungsmaßnahmen gegen Einwirkungen von außen, insbesondere gegen Computerviren und sonstige Phänomene, die einzelne Daten oder einen gesamten Datenbestand gefährden können, Vorkehrungen zu treffen. § 10 Schutzrechte Dritter 1 PTS gewährleistet, dass die im Rahmen dieser Vereinbarung gelieferten PTS Produkte frei von Urheberrechten und Patentrechten Dritter sind; dies gilt jedoch nur insofern, als PTS diese entweder kannte oder unter Aufwendung angemessener Sorgfalt hätte kennen müssen. 2 Sollte dennoch ein Dritter Rechte in Bezug auf die PTS Produkte geltend machen, so wird PTS im Rahmen der nachfolgenden Bestimmungen den Lizenznehmer von allen etwaigen Verpflichtungen freistellen, falls der Lizenznehmer die Verteidigung hinsichtlich der angeblichen Verletzung von Urheberrechten oder Patentrechten (im folgenden Schutzrechtsverletzungen) PTS überlässt. Sofern der Lizenznehmer PTS unverzüglich von der Geltendmachung solcher Ansprüche schriftlich benachrichtigt und PTS alle für die Beurteilung der Lage notwendigen Informationen erteilt, wird PTS binnen angemessener Frist entscheiden, ob und wie ein geltend gemachter Anspruch abgewehrt oder verglichen wird, und dies dem Lizenznehmer mitteilen. Bis zum Ablauf dieser Frist ist der Lizenznehmer verpflichtet, unverzüglich alles zu tun, was erforderlich ist, um etwaige Rechtsverluste zu vermeiden; dies schließt nicht die Berechtigung ein, sich im Alleingang gegen solche Ansprüche zu verteidigen oder hierauf zu antworten. Wenn sich PTS entscheidet, die 22 für MS SQL Server Reporting Services Verteidigung des Lizenznehmers zu übernehmen, wird der Lizenznehmer PTS alle notwendigen Informationen erteilen und sonstige angemessene Unterstützung bei dieser Verteidigung gewähren. 3 Im Falle von Schutzrechtsverletzungen ist PTS unter Ausschluss weitergehender Ansprüche, jedoch vorbehaltlich der Regelungen in § 16 Ziffer 2 und in § 14 nach eigenem Ermessen und auf eigene Kosten berechtigt, (i) das betreffende PTS Produkt derart abzuändern oder auszutauschen, dass zwar die funktionale Gleichwertigkeit mit dem ursprünglichen PTS Produkt sichergestellt ist, aber keine gewerblichen Schutzrechte oder Urheberrechte Dritter mehr verletzt werden, oder (ii) dem Lizenznehmer das weitere Nutzungsrecht zu verschaffen oder (iii) das PTS Produkt unter Rückerstattung der bezahlten Lizenzgebühr zurückzunehmen. 4 PTS haftet nicht für Schutzrechtsverletzungen, wenn diese auf einer Bearbeitung oder Änderung des PTS Produktes beruhen, die ohne eine vorgängige schriftliche Zustimmung von PTS vorgenommen wurde. PTS haftet auch nicht für Schutzrechtsverletzungen, die aus einer für das PTS Produkt nach den Anleitungen des Benutzerhandbuchs nicht vorgesehenen Nutzung oder Verwendung oder aus einer Nutzung zusammen mit nicht von PTS autorisierten Komponenten resultieren. § 11 Datenschutz 1 PTS speichert Ihre Daten, soweit geschäftsnotwendig und im Rahmen des Bundesdatenschutzgesetzes (BDSG) sowie des Telemediengesetz (TMG) zulässig. 2 PTS verarbeitet für die Auftragsabwicklung personenbezogene Daten und leiten die für diesen Zweck erforderlichen Daten an Dienstleister wie etwa an E-commerce Partner weiter, sofern dies für den Erhalt der Lizenz unabdingbar ist. 3 Die datenschutzwürdigen Belange des Lizenznehmers werden von PTS stets genau berücksichtigt und seine Daten selbstverständlich streng vertraulich behandelt. Die erhobenen Daten werden ausschließlich zu den oben genannten Zwecken von der PTS verarbeitet und genutzt. § 12 Allgemeines 1 Ansprüche aus dieser Vereinbarung kann der Lizenznehmer nur mit vorheriger schriftlicher Zustimmung von PTS abtreten oder übertragen. 2 Gerichtsstand für alle Streitigkeiten aus dem Lizenz- und Pflegevertrag und diesen Bedingungen ist, soweit gesetzlich zulässig, Bremen in Deutschland. 3 Es gilt das Recht der Bundesrepublik Deutschland unter Ausschluss der Kollisionsnormen und des UN-Kaufrechts. 4 Mündliche Nebenabreden sind nicht getroffen. Sollten Teile dieser Bedingungen ganz oder teilweise unwirksam sein oder werden, so berührt dies die Wirksamkeit der übrigen Regelungen nicht. Die Parteien verpflichten sich vielmehr, die unwirksame Regelung durch eine solche zu ersetzen, die dem wirtschaftlich Gewollten am nächsten kommt. Änderungen dieser Bedingungen bedürfen der Schriftform. Gleiches gilt für die Aufhebung dieser Schriftformklausel. 23