Samstag, 13. November 2010

PASS Summit, TechEd & TechNet… was für eine Woche!

Wow, das war doch mal eine Woche! Da gab es endlich wieder etliche Überschneidungen im Kalender.

Wir hatten den PASS Summit in Seattle, die TechEd Europe in Berlin und noch ein TechNet MS SQL & BI Seminar in Hamburg.

Die Keynotes des Summits gabs auch gleich noch als Livestream. Sessions der TechEd sind wie gewohnt bereits online verfügbar.

Sowohl auf dem Summit als auch auf der TechEd wurden diverse Ankündigungen bzgl. des neuen SQL Servers gemacht. Highlights sind wohl u. a.:

  • Project Crescent (ultra cooles Reporting / Dashboard Tool auf Basis Silverlight)
  • Business Intelligence Semantic Model (BISM)
  • VertiPaq in der relationalen Welt (eine Renaissance von ROLAP ?)
  • und vieles, vieles mehr…

Und es gab dazu viele Emotionen diese Woche.

Chris Webb z. B. sprach da wohl vielen von uns aus der Seele.

http://cwebbbi.wordpress.com/2010/11/11/pass-summit-day-2/

Da wurde wohl das eine oder andere ein wenig zu euphorisch angekündigt und präsentiert. Zumindest entstand bei einigen der nachhaltige Eindruck, dass das klassische UDM keine große Zukunft mehr hat. Das Gerücht, dass MDX tot sei und DAX nun für alles herhalten muss entstand. Microsoft hat (fast schon ungewohnt) schnell auf diese Gerüchte reagiert.

Selbst Amir Netz hat den Post von Chris mit einem Kommentar bedacht. Müsst Ihr ein wenig nach unten blättern.

Als Antwort an Alle, die nun ähnliche Bedenken haben, was die Zukunft von UDM, MDX, OLAP & Co ist, hat das SQL Server Team (namentlich T.K. Anand) nun folgenden Post verfasst:

http://blogs.technet.com/b/dataplatforminsider/archive/2010/11/12/analysis-services-roadmap-for-sql-server-denali-and-beyond.aspx

Kurzfassung: BISM soll UDM (OLAP) nicht ersetzen! Wir werden noch viele weitere Jahre (Releases) unseren Spaß und Freude mit MDX & Co haben können. Sofern natürlich gewünscht, da wir alle (also mal so als BI Pro an BI Pro) dem BISM und DAX eine Chance geben sollen. Ich für meinen Teil bin auf jeden Fall neugierig auf diese weitere Seite von MS BI und werde sie darauf gehend prüfen, ob sie weitere Bemühungen hinsichtlich einer umfassenden Repository Umgebung überflüssig machen wird. Bin ja bekanntlich ein Fan von Repositories für die Vereinfachung und Steuerung von komplexeren DWH und BI Umgebungen. Schauen wir mal, es bleibt weiterhin Spannend! 

Wo wir gerade bei DAX sind. Da war ja auch noch das TechNet Seminar in Hamburg. Thema war “Managed Self-Service Business Intelligence mit …” aktuellen Bits und Bytes. Mein Job während dieser Tagesveranstaltung in der Hamburger MS Niederlassung war eine zweistündige recht technische Session über das aktuelle PowerPivot in Excel und SharePoint. Hat mir auf jeden Fall viel Spaß gemacht unsere (PSG) Erfahrungen mit dieser Technologie an Kunden & Partner weiterzugeben.

Im Anschluss an das TechNet Seminar fand bei Microsoft auch noch das monatliche Treffen der Hamburger SQL Server Community (PASS) statt. Vielen Dank an MS für den Raum, den Sprecher (Frank) und das Catering!

Donnerstag, 4. November 2010

MDXScript Object in Analysis Management Objects (AMO)

Eine Frage kommt im Zusammenhang mit den Analysis Management Objects immer wieder: Wie kann auf das MDX Skript zugegriffen werden?

Und auch dafür sind tatsächlich nur wenige Zeilen Code notwendig! AMO sei Dank!

Mit diesem Codeschnipsel lese ich das MDX Skript aus und zeige ihn in einer Textbox an. Statt der Textbox könnt Ihr natürlich auch eine Variable oder sonst was verwenden.

using Microsoft.AnalysisServices;

Server srv = new Server();

srv.Connect("localhost"); // Dein Server Name!

myTB.Text = srv.Databases.GetByName("Adventure Works DW 2008").Cubes.GetByName("Adventure Works").MdxScripts[0].Commands[0].Text; // Deine SSAS DB & Dein Cube

srv.Disconnect();

So, und natürlich kommt auch gleich wieder die Frage wie denn nun das MDX Skript geschrieben werden kann? Mit dem BIDSHelper ist es ja möglich dies innerhalb des Business Intelligence Development Studios (BIDS halt) zu machen.

Auch hierfür sind nur wenige Zeilen Code notwendig. Also genaugenommen brauche ich dazu nur eine weitere Zeile.

using Microsoft.AnalysisServices;

Server srv = new Server();

srv.Connect("localhost");

srv.Databases.GetByName("Adventure Works DW 2008").Cubes.GetByName("Adventure Works").MdxScripts[0].Commands[0].Text = myTB.Text;

srv.Databases.GetByName("Adventure Works DW 2008").Cubes.GetByName("Adventure Works").MdxScripts[0].Update();  // Wichtig! Hiermit wird das “kurz” mal aktualisiert.

srv.Disconnect();

Die Bereitstellung des MDX Skriptes geht äußerst schnell. Probiert es einfach mal aus!