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!