Posts

Showing posts from April, 2011

SSIS (Integration Services) als ETL Lösung – Package Tools im Eigenbau – Teil 2 – Connection Manager auslesen

Hier ist der nächste Teil meiner kleinen Reihe über die Entwicklung von eigenen Werkzeugen für das Auslesen und Verändern von SSIS Paketen (dtsx). Wie bereits im ersten Teil, machen wir noch was ganz harmloses und lesen dieses Mal die Verbindungsmanager eines Paketes aus. Das Codebeispiel dient für den Moment hauptsächlich dazu, zu zeigen wie einfach der Zugriff auf einzelne Eigenschaften eines SSIS Paketes ist. Des Weiteren demonstriere ich noch, wie wir bereits hier auf die Verwendung von Expressions prüfen können. Expressions, also die Arbeit mit dynamischen Ausdrücken innerhalb einer SSIS Lösung, lassen äußerst mächtige Architekturen möglich werden, sind aber in der späteren Wartung ein wenig tricky, wenn der Verantwortliche für den Betrieb der Lösung nicht immer hundertprozentig weiß, wofür gerade überall Ausdrücke verwendet werden. Gerade im Zusammenspiel mit mehrstufigen Paket-Konfigurationen kann die Fehlersuche durchaus anspruchsvoll werden. Aber deswegen bauen wir uns ja e

SSAS (Analysis Services) OLAP Cubes – Der Stern ist nicht der Würfel!

Das Geschäft als Berater bzw. als Coach besteht ja auch zum Teil daraus, dass man zur richtigen Zeit den richtigen Spruch bzw. Lehrsatz auf den Lippen hat. “Der Stern, die Schneeflocke oder die Galaxie ist nicht gleichzusetzen mit dem daraus entstehenden multidimensionalem Raum!” Kurzfassung: Der Stern ist nicht der Würfel! Viele Anwender der Analysis Services arbeiten aber gerne mit der Vorstellung , dass das Starschema nicht nur die Quelle darstellt, sondern auch, dass im Cube die Trennung zwischen Dimensionen und Fakten existiert. Dimensions- und Faktentabellen sind aber “nur” relationale Strukturen, welche als Datenquellen für den Würfel dienen. Viele Frontends, wie auch Excel, unterscheiden aber sehr deutlich in der Darstellung zwischen Attributen (Dimensionen) und Measures. Der eigentliche Cube bzw. der, wie ich finde korrektere Ausdruck, multidimensionale Raum haben aber ihre ganz eigene “Logik”. Wie kommen wir da jetzt raus? Muss nun jeder Endanwender eine hocheso

SSIS (Integration Services) als ETL Lösung – Package Tools im Eigenbau – Teil 1

Image
In der Vergangenheit habe ich ja schon mehrmals auf die Möglichkeiten der “Developer Side of Microsoft Business Intelligence” hingewiesen. Häufig habe ich dabei auch die Erstellung bzw. Modifikation von SSIS Paketen durch .NET Code gestresst. Ein Missverständnis dabei ist, dass ich diese Methode ausschließlich für die automatisierte Erstellung von SSIS Paketen (dtsx) empfehle! Der Aufwand, der dafür getrieben werden muss, um eine solche Lösung einzusetzen, ist tatsächlich sehr hoch und ist bei weitem nicht was für jedes Projekt. Aber, meine Empfehlung ist die “Developer Side” auch für bestehende Lösungen zu nutzen. U. a. für die automatisierte Inventarisierung und Erweiterung von SSIS Paketen, um zum Beispiel Logging und Debug Funktionen. Dieser Ansatz ist gerade für Lösungen interessant, bei denen am Anfang auf die konsequente Verwendung von Templates aus einem Framework verzichtet wurde. Für diesen Verzicht kann es diverse Gründe geben. Häufig ist, dass einfach keine Zeit war und

SSIS (Integration Services) als ETL Lösung – Entscheidungen vor dem Einsatz

Heute mal wieder ein paar Gedanken zur Architektur einer ETL Lösung. Genaugenommen sind wir bei der Klärung von einigen grundlegenden Fragestellungen. Welche können das beim Einsatz von Integration Services (SSIS) als ETL Lösung sein? Viele Fragestellungen bzw. Herausforderungen, welche ich im Rahmen von Coachings gestellt bekommen habe bzw. wir als Team in Projekten angetroffen haben, lassen sich auf einige grundlegende Missverständnisse und inkonsequente Entscheidungen zurückführen. Dabei geht es nicht um technische Details. Ist tatsachlich die Entscheidung für eine echte ETL Lösung getroffen worden? ETL heißt nicht, dass ein bestimmtes Tool verwendet wird! Also, wir verwenden die Integration Services heißt nicht automatisch, dass man da von ETL sprechen kann oder sollte. ETL ist für mich die konsequente Verfolgung eines Konzeptes. Und es heißt viel mehr als nur in Extract, Transform und Load zu denken, denn das trifft auch auf die meisten üblichen Schnittstellen zu. ETL heiß

Integration Services & Reporting Services gemeinsam für die Bereitstellung von Reports nutzen

Image
Im Rahmen eines Projektes evaluiere ich gerade Möglichkeiten, um eine automatisierte Bereitstellung von Reports zu ermöglichen. Es geht dabei um 1-2 Reports mehr. :-) Die Verwendung von RS.EXE für die Ansteuerung der Reporting Services hatte ich in diesem Kontext ja schon beschrieben. Wobei mir bei RS.EXE die Anbindung von Datenquellen für die Parametrisierung nicht so gefällt. Daher heute ein weiterer Ansatz: Nutzung der Reporting Services aus den Integration Services heraus! Von der Logik her unterscheidet sich der Weg zum Report gar nicht so sehr vom Skriptingansatz, da wir wieder mit den selben Objekten konfrontiert werden. Nur jetzt verwende ich mal den Webservice für die Kommunikation. Was brauchen wir also alles? Einen Report! Da nehme ich wieder mal meinen einfachen Report mit nur einem Parameter, um die Ansteuerung der Parameter zu testen. Ein SSIS Paket, welches nur aus einem Datenflusstask besteht, welcher wiederum nur eine OLE-Quelle und ein Skriptkomponente

Reporting Services RS.EXE mit Parametern nutzen

Image
Vor ein paar Tagen habe ich hier gepostet wie Ihr mit dem Tool RS.exe (dem Reporting Services Skript Tool) einen Report bereitstellen könnt. Dazu kamen nun ein paar Fragen rein. Eine Frage wiederholte sich und zwar: Wie Parameter an den Report übergeben werden können? Das ist natürlich möglich, dazu müssen wir nur das Skript ein wenig erweitern für. Dann könnt Ihr das gleich zu Ostern ausprobieren! :-) Zu erst aber brauchen wir einen Report mit einem Parameter. Dazu nehmen wir mal nichts komplexen, sondern diesen schönen Report. Der hat keinerlei Quellen etc., sondern nur einen Parameter mit dem schönen Namen “ DemoParameter ”.   Kommen wir zum Inhalt unseres “ render.rss ” Skripts. Public Sub Main()   Dim fileName as String = "C:\Users\Administrator\Desktop\demo.png"   Dim reportPath as String = "/Vertrieb/ParameterDemo"   Dim results() as Byte   Dim parameters(0) As ParameterValue   parameters(0) = New ParameterValue()

ShareCamp 2011 in München, Unterschleißheim (Microsoft)

Hier noch schnell vor Ostern der erste Hinweis, dass wir (die PSG ) gemeinsam mit unserem Partner Layer2 auf dem ShareCamp , dem Community Event für SharePoint in Deutschland, dabei sind. Das ShareCamp 2011 findet auch dieses Mal wieder in der Zentrale von Microsoft in Unterschleißheim statt. Termin ist der 14.-15.05.2011 (ja, das ist ein Wochenende!). Vor Ort werde u. a. ich sein und ein wenig die Business Intelligence Flagge für SharePoint hochhalten und die Integration von Analysis Services, Reporting Services etc. in SharePoint evangelisieren. Dazu gehört es natürlich auch, dass ich gerne die PerformancePoint Services erläutere und einen tiefen Einblick in die Technologie OLAP (so mit Dimensionen, Attributen, Tuples, MDX etc. pp.) gebe, um die PPS auch wirklich sinnvoll nutzen zu können. Ich freue mich schon sehr auf dieses Community Event! In den nächsten Tagen werde ich noch weitere Details dazu posten und was ihr von uns vor Ort sehen könnt.

SQL Server Community Vorträge in Hannover & Köln

Wie die Zeit doch rennt! :-) Hier der Hinweis, dass ich als Gastsprecher am 12.05.2011 beim Treffen der PASS Deutschland e.V. Gruppe Hannover / Göttingen & am 16.05.2011 beim Treffen der PASS Deutschland e.V. Gruppe Köln / Bonn / Düsseldorf bin! Ich werde bei beiden Treffen über eines meiner Lieblingsthemen sprechen dürfen und zwar “ The Developer Side of Microsoft Business Intelligence ” Der Microsoft SQL Server bietet eine ganze Reihe von äußerst mächtigen Diensten und Werkzeugen für die Erstellung von Business Intelligence Lösungen. Warum sollte sich dann überhaupt ein BI Berater mit den Möglichkeiten der Programmierbarkeit des SQL Servers beschäftigen? Weicht er damit nicht vom Standard ab? Und warum sollte sich ein Programmierer mit BI befassen? Sind die BI relevanten Dienste vom SQL Server etwa nicht fertig? Die Wahrheit ist, dass eine wesentliche Stärke des SQL Servers, neben den bekannten Werkzeugen, die Verfügbarkeit von diversen sehr gut doku

SQL Server Analysis Services & Excel – “Bewegliche Ziele” oder wie wichtig ist eigentlich ein deterministischer Attribute Key?

Image
Ein Thema kam beim letzten Treffen der SQL Server Community (PASS) in Hamburg auf und zwar die Frage: Wie wichtig ist die deterministische Vergabe des Attribute Keys in Analysis Services?”. Nun ja, und die Antwort darauf ist wie so oft: Kommt ganz drauf an! Was ist überhaupt gemeint mit der deterministische Vergabe von Attribute Keys? Am Beispiel von Excel 2010 als Frontend möchte ich kurz die Herausforderung skizzieren. In Excel 2010 können wir ohne weitere Plug-Ins mittels einer Pivot-Tabelle und/oder den Excel Cube Funktionen auf Analysis Services Datenbanken (aka “Cubes”) zurückgreifen. Und Excel gibt es mittlerweile sowohl als Tool für den Desktop als auch als Excel Services im SharePoint. Für unser kleines Beispiel habe ich hier eine Tabelle DimKunde mit folgenden Einträgen: Wichtig dabei ist, dass die Dimensionszeile einen eindeutigen Schlüssel mit der Spalte ID hat . Die Spalte OrtId wird in diesem Fall automatisch erzeugt und enthält damit einen eindeuti

SQLBits 8 – Analysis Services Scale-Out Vortrag PowerPoint ist online

Mittlerweile ist der Download für die PowerPoint Folien für meinen Scale-Out für Analysis Services aktiv. In der Regel dauert es ein paar Wochen bis auch die Videoaufzeichnungen der Vorträge online gehen. Geduld! :-) Die Slides bekommt Ihr hier!

Reporting Services Skripte nutzen für die Bereitstellung von Reports

Hier aktuell eine Notiz aus dem Feld zu den Reporting Services. Vielen Kunden als auch Kollegen ist es nicht bekannt, dass die Reporting Services auch auf sehr einfache Art und Weise per Skript-Sprache genutzt werden können. Daher hier ein kleines Beispiel dazu. Den SQL Server Reporting Services liegt ein Kommandozeilentool namens RS.EXE bei. Dieses kann sowohl für administrative Aufgaben als für die Bereitstellung von Reports genutzt werden. Gerade das Skript (Batch) gesteuerte Erstellen von Reports in einem der Exportformate (z. B. PDF, XLS, DOC… ) ist für viele Kunden attraktiv. Wie kann so etwas umgesetzt werden? Es wird auf jeden Fall eine RSS Datei benötigt! RSS steht in diesem Fall für R eporting S ervices S cript. :-) Hier der Inhalt einer Datei mit dem Namen “process.rss”, welche ich mit Notepad erstellt habe. Wie man sieht, ist das Ganze ein VBA Dialekt. Dieses einfache Beispiel rendert einen Report im PDF Format, für den das RDL File auf dem Report Server im Pfad “/

Analysis Services Synchronisieren von Cubes – Wer bleibt online? (Coaches’ Hell)

Vor ein paar Tagen habe ich ja über das Synchronisieren von Cubes einen kleinen Artikel geschrieben und einen Webcast augenommen . Auf den SQLBits in Brighton hatte ich das Thema auch in meiner Session dabei. Ein Feedback dazu erreichte mich in den letzten Tagen immer wieder: Bleibt da alles online? Bleiben alle Connections erhalten? Dazu von mir der Hinweis: Nein, der “Target”, also die Analysis Services Instanz, welche die Synchronisation auslöst, bricht laut meiner Erfahrung die bestehenden Connections ab und braucht einen Re-Connect.

SQL Server Usergroup Treffen in Hamburg April 2011 (Analysis Services Interna)

Und schon wieder ist ein Monat rum und die Hamburger SQL Server Szene trifft sich am Donnerstag, den 14. April 2011, 18:30-20:30. Das ist dann unser 60. Treffen! Wow… Im April geht es um Interna in den SQL Server Analysis Services. Wir werfen gemeinsam einen Blick hinter die Kulissen der multidimensionalen Datenbank. Sowohl für den BI Berater als auch für den DBA interessant. Sicherlich finden wir auch noch die Zeit, um uns ein wenig über die gerade vergangene SQLBits Konferenz in UK auszutauschen. Veranstaltungsort ist: Deutscher Pressevertrieb, Düsternstraße 1, 20355 Hamburg Ansprechpartner vor Ort: Wolfgang Gottschalk Würde mich sehr freuen, möglichst viele von Euch dort zu treffen! :-)

SQLBits 8 - Resümee

Image
So, die SQLBits 8 Konferenz ist nun vorbei. Zeit für ein letztes umfassendes Resümee! Super Sprecher! Super Lokation! Super Community Event! Und die SQLBits haben es sogar bis in die deutschen Nachrichten geschafft. Golem berichtet über sie, wenn auch leicht versteckt, beim zitieren eines Interviews mit Steve Wozniak (Mitgründer von Apple). http://www.golem.de/1104/82675.html Der Hinweis, dass es sich um die größte europäische SQL Server Konferenz handelt wäre noch nett gewesen. Des Weiteren tauchen immer mehr Videos auf youtube auf. Unter anderem dieses hier… und ja, es war früh am Morgen… :-)  

Attribute Keys für Analysis Services optimieren mit Hilfe von Dense_Rank (Coaches' Diary)

Image
Vor einigen Tagen habe ich einen Tipp veröffentlicht mit dem herausgefunden werden kann welche Attribute innerhalb einer SSAS Dimension einen String als Key haben. Das gilt es ja in einem SSAS Projekt aus diversen Gründen (einer ist Performance und ich glaube der zweite Grund war Performance, auf den Dritten komme ich noch…) zu vermeiden. Nun kam die Frage auf, wie denn nun mit einfachen Mitteln dafür gesorgt werden kann, dass denn ein Integer Key auch immer verfügbar ist für das Attribut? Sofern das nicht über die Datenbewirtschaftung eines Data Warehouses gelöst wird (größeres Projekt…), dann muss das halt beim Aufbereitungsprozess für das Star-Schema eines “Cubes” (ich spreche ja eigentlich immer von SSAS Datenbanken) passieren. Häufig sind diese Aufbereitungsprozesse aber direkt an das Quellsystem gebunden und die Aufbereitung wird über Sichten (Views) realisiert. Wo ist da noch Platz für die Zuordnung von Integer Keys? Diese Herausforderung habe ich in der Praxis schon häufig

SQLBits 8 – Brighton, UK - Freitag

Image
So, der Freitag in Brighton neigt sich dem Ende. Und selten wurde ein Motto so konkret umgesetzt: Beside the seaside… Die letzten Partygäste verlassen das Haus. Auf der Ausklang Party gab es u.a. Fish & Chips und ein kühles Wetter, was bei dem Wetter hier auch dankend angenommen wurde! Wobei englisches Essen polarisierte schon ein wenig bei den nicht-englischen Teilnehmern. Meine Session “ 28 weeks later – How to scale-out your MS Business Intelligence environment ”verlief weitestgehend wie erwartet und ohne größere Probleme. Es waren trotz prominenter “Konkurrenz” erstaunlich viele Teilnehmer bei so einem recht speziellem Thema im Raum. Vielen Dank dafür! Und es waren dieses mal deutlich mehr Teilnehmer aus Deutschland dabei. Bin schon sehr gespannt wohin es die SQLBits 9 dann wohl verschlagen wird… nur das Königreich steht schon fest! :-)    

SQLBits 8 in Brighton/UK – Morgen geht es los!

Image
Und schon wieder ist es soweit! Morgen startet in Brighton, UK die wohl größte europäische SQL Server Konferenz! Wie immer haben die Organisatoren einen schönen Ort in England ausgesucht. Die Konferenz findet dieses mal im “The Grand” in Brighton statt. Hier mal eine Impression. Allein deswegen wird sich wohl der Weg lohnen. Am Freitag bin ich ja dann als Sprecher dabei und darf als “quasi” Fortsetzung zum “ The Developer Side of Microsoft Business Intelligence ” einen Vortrag über Scale-Out Projekte mit den SQL Server Analysis Services halten. Mein Vortrag heißt dieses mal “ 28 Weeks later - How to scale-out your MS Business Intelligence Environment ”. Spannendes Thema, hoffentlich finden das die Teilnehmer auch. Hier eine kleine Vorschau auf das Slidedeck.   Vieleicht treffe ich ja dieses mal mehr Deutsche (oder zumindest deutschsprachige) Teilnehmer der SQL Server Community als in York! Würde mich sehr freuen!