我有一个由我使用的应用程序自动生成的SSAS DB。 这个数据库有很多措施,我想定义'显示文件夹'这些措施使得多维数据集在Excel中更加用户友好。 我想要一个xmla / mdx(将定义为显示措施文件夹的脚本)。 我找到的一种方法是在visual studio中手动执行一次,然后生成一个完整的“更改”立方体。 xmla脚本应用当前定义并在每次生成多维数据集后运行它。 问题是我需要一个只会定义显示文件夹的较短脚本(完整的' alter cube'脚本很长,这给我带来了其他问题。
答案 0 :(得分:0)
我不是很确定,但我认为您不能使用XMLA ALTER
语句来更改比完整度量定义更详细的内容。可能最适合您的问题的方法是使用AMO的小型.net程序。我使用下面的C#作为示例代码,但您也可以使用VB.net。 AMO的工作方式是:
使用以下代码连接到服务器:
Server server = new Server();
server.Connect("Data source=servername\\instancename;Initial catalog=Adventure Works DW 2008 SE");
您可以浏览从数据库到要更改的对象的层次结构(在您的情况下是一个度量),类似于:
MeasureCollection measures = sever.Databases.FindByName("Adventure Works DW 2008 SE").Cubes.Find("YourCubeName").Measures;
-- choose the measure(s) you need
Update()
方法,该方法会在您调用的对象下面写下您所做的任何对象的任何结构更改{{ 1}}回到服务器。Update
对象上的C#using
构造。)有关AMO的文档,请参阅http://msdn.microsoft.com/en-us/library/microsoft.analysisservices.adomdserver(v=sql.105).aspx。