Overblog
Folge diesem Blog Administration + Create my blog
Blog von Olaf Helper

Free ebook: Introducing Microsoft SQL Server 2008 R2

15. März 2011 , Geschrieben von Olaf Helper Veröffentlicht in #Free eBooks

Microsoft hat gleich 9 freie eBooks zu diversen Themen veröffentlicht, darunter auch das Buch "Introducing Microsoft SQL Server 2008 R2" von Ross Mistry und Stacia Misner; zugegeben nichts Neues.

Es umfasst zwei Bereiche "Database Administration" und "Business Intelligence" mit insgesamt 10 Kapiteln auf 216 Seiten; ein Leichtgewicht unter den Büchern zum SQL Server. Es befasst sich aber auch in erster Linie mit den Neuerungen im Microsoft SQL Server 2008 R2.

Weiterlesen

Bedingte Formatierung für Reporting Services

13. März 2011 , Geschrieben von Olaf Helper Veröffentlicht in #Reporting

Man muss ja nicht immer alles Nachmachen oder –programmieren, besonders nicht Features aus der Rubrik „Noch Bunter – Noch Greller“.

Die Funktion zur „Bedingten Formatierung“, die in MS Excel 2007 hinzugekommen ist, ist aber durchaus gut geeignet, um Werte und deren Größenordnung optisch hervor zu heben. Im MS Reporting Services kann man dieses ebenfalls abbilden, das setzt aber etwas Customer Code voraus.

Zum Testen nehme ich zunächst einmal eine einfache CTE mit fixen Werten für Umsatzzahlen her, die prozentualen Anteile am Jahresumsatz werden dann in einer weiteren CTE errechnet. Diese Prozentwerte will ich dann im Weiteren eben durch eine Hintergrundfarbe hervorheben.

 

 ;WITH 
Umsatz AS
( SELECT 'Kunde 1' As Customer, 15000 AS Ums2009, 17000 AS Ums2010
UNION ALL
SELECT 'Kunde 2', 23000, 22000 UNION ALL
SELECT 'Kunde 3', 10000, 12000 UNION ALL
SELECT 'Kunde 4', 39000, 32000 UNION ALL
SELECT 'Kunde 5', 1000, 3000)
 , Summe AS
( SELECT SUM(Ums2009) AS Total2009
,SUM(Ums2010) AS Total2010
FROM Umsatz)
 , Statistik AS
( SELECT Customer
,Ums2009
,Ums2010
,100 * Ums2009 / Total2009 AS Percentage2009
,100 * Ums2010 / Total2010 AS Percentage2010
,100 * (Ums2010 - Ums2009) / Ums2009 AS Raise
FROM Umsatz, Summe)
 SELECT *
FROM Statistik;

 

Nun brauch ich noch etwas Customer Code. Das Property „BackgroundColor“ erwartet entweder einen Farbnamen wie „Black“ für Schwarz oder einen RGB Werte als Hexadezimal Wert als String wie #FF0000 für einen Rotwert. Letzteres nutze ich, um einen Farbwert passend zum Prozentwert zu errechnen. Der Code, um einen Rotwert analog in der Helligkeit zum Prozentwert zu errechnen, sieht so aus:


 ' Liefert einen Rot-Farbwert als Hexadezimal-Wert (String) zu den übergebenen Prozentwerten 
 Public Function PercentageRed(ByVal percentage As Decimal) As String 
  ' Wert muss zwischen 0 und 100 sein; sonst zur Sicherheit auf Default Werte setzen 
  If percentage < 0 Then percentage = 0
If percentage > 100 Then percentage = 100
   Dim value As Integer 
  value = CInt(255.0 * (100.0 - percentage) / 100.0) 
   ' #FF = Rot als Basis
Return "#FF" & value.ToString("X2") & value.ToString("X2")
 End Function 

 

Also wirklich Karo-Einfach, den maximalen Byte-Wert von 255 ins Verhältnis gesetzt zum Prozentwert. Damit hohe Prozentwerte dunkel dargestellt werden, wird vom Prozentwert das Inverse gebildet.

Im Report setzte ich dann als Beispiel für die Textbox „Percentage2010“ das Property „BackgroundColor“ auf „Expression“ und füge nur noch das folgende Expression ein:

=Code.PercentageRed(Fields!Percentage2010.Value)

 

Das Ergebnis sieht dann so aus; für das bisschen Customer Code doch ganz gut, oder?


SsrsConditionalColoring-Kopie-1.jpg

 

Weiterlesen

SSMS 2008 R2 IntelliSense nach VS 2010 SP 1

13. März 2011 , Geschrieben von Olaf Helper Veröffentlicht in #MSSQL

Ich hatte es ich letzten Blog Artikel bereits erwähnt, das erste Probleme im Zusammenhang mit dem Microsoft Visual Studio 2010 Service Pack 1 gemeldet wurden.

Einer muss ja Versuchskaninchen sein und deshalb habe ich mal auf meinem Rechner das Service Pack 1 installiert; zu updaten gab es MS Visual Basic 2010 Express Edition, MS C# 2010 Express Edition und MS Visual Web Developer 2010 Express Edition, sowie diverse Redistributables. Die Installation per WebInstaller lief gut eine Stunde und das völlig reibungsfrei ab.

Erste tests im SSMS 2008 R2 ergaben nun: Tabellen, Views, Stored Procedures und Funktionen werden weiterhin von IntelliSense aufgelistet, aber keine Feldnamen mehr. Parameterinfo funktioniert ebenfalls wie gehabt.

Vor der Installation des SP 1 sollte man aich also zunächst überlegen, ob man mit der Einschränkung leben kann. Ein Komfort-Verlust ist es, aber meines Erachtens auch nicht so tragisch.

Weiterlesen

Visual Studio 2010 Service Pack 1 ... aber bitte mit Vorsicht

10. März 2011 , Geschrieben von Olaf Helper Veröffentlicht in #MSSQL

 

Kürzlich ist das Microsoft Visual Studio 2010 Service Pack 1 erschienen. Grundsätzlich neige ich dazu, Service Packs auch zu installieren, neben Benefits wie Stabilität, Performance und Sicherheit bieten sie manchmal auch neue Features.

 

In diesem Fall ist aber etwas Vorsicht geboten, denn den ersten Rückmeldungen in MSDN Foren wie

SSMS 2008 R2 IntelliSense Stopped Working after VS 2010 SP1

zufolge hat das Service Pack eher negative Auswirkungen auf das SSMS = Sql Server Management Studio; IntelliSense funktioniert anschließend nicht mehr.

 

Das CU6 für Sql Server 2008 R2 soll das Problem beheben. Aber das kann es ja nun eigentlich nicht sein, das man sich mit einem Service Pack sich Probleme einholt, die man mit einem weiteren CU erst wieder beheben muss. 

Weiterlesen