2011-07-19 8 views
0

C#コードのMDX ADOMDコマンドを使用して計算されたディメンションメンバを永続的に作成しようとしています。 次のMDXスクリプトはメンバを作成しますが、現在のセッションでのみ使用できます。SSAS:計算されたメンバをプログラムで永久に作成する

CREATE MEMBER [Cube].[Dimension].[Hierarchy].[My Member Name] as 
    Aggregate({ 
     [Dimension].[Hierarchy].[Level].&[1], [Dimension].[Hierarchy].[Level].&[2], ... 
    }) 

永続的に作成する方法

答えて

1

これを試したことはありませんが、これを行うように見えるAMOコードが見つかりました。現在のMDX計算スクリプトをキューブからロードして追加し、ポストしています。私は他の場所でAMOを使用していますが、このようにそれを使用し、その結果に戻って報告しないでいる:)

http://www.win8s.com/sql-server/sql-server-analysis-services/2011/programically-changing-calculated-members.html

で発見

Dim objServer As Server 
Dim objDatabase As Database 
Dim strDataBaseID As String 
Dim objCube As Cube 
Dim objMdxScript As MdxScript 
Dim objCommand As Command 
Dim strCommand As String 
objServer = New Server 
objServer.Connect(“localhost”) 
objDatabase = objServer.Databases(“Adventure Works DW 2008″) 
strDataBaseID = objDatabase.ID 
If objDatabase.Cubes.Count > 0 Then 
objCube = objDatabase.Cubes(“Adventure Works”) 
If objCube.MdxScripts.Count > 0 Then 
objMdxScript = objCube.MdxScripts(“MdxScript”) 
”objMdxScript = objCube.MdxScripts(0) 
Else 
objCube.MdxScripts.Add(“MdxScript”, “MdxScript”) 
objMdxScript = objCube.MdxScripts(“MdxScript”) 
End If 
objCommand = New Command 
strCommand = “CREATE MEMBER CURRENTCUBE.[Measures].[Multipy Measures By 20]“ 
strCommand = strCommand & ” AS [Measures].[Internet Sales Amount] * 20, “ 
strCommand = strCommand & ” VISIBLE = 1 ; “ 
objCommand.Text = strCommand 
objMdxScript.Commands.Add(objCommand) 
objMdxScript.Update() 
objCube.Update() 
End If 
objServer.Disconnect() 

関連する問題