Hello,
Trying to process Dimensions and Cube using AMO, here is the code:
server = new Server(); server.Connect(ConfigurationManager.ConnectionStrings["CubeDataConnection"].ConnectionString); Database database = server.Databases.FindByName("BD"); Cube cube = database.Cubes.FindByName("Cube"); //ProcessFull for Dimensions foreach (CubeDimension dimension in cube.Dimensions) { dimension.Dimension.Process(ProcessType.ProcessFull); } DataSourceView dsv = database.DataSourceViews.GetByName("DSV"); MeasureGroup measureGroup = cube.MeasureGroups.GetByName("Measure1"); Partition partition = measureGroup.Partitions.GetByName("Measure1"); //ProcessAdd for Cube partition.Process(ProcessType.ProcessAdd, new QueryBinding(dsv.DataSourceID, "SELECT * FROM SSAS.Data1")); MeasureGroup measureGroup2 = cube.MeasureGroups.GetByName("Measure2"); Partition partition2 = measureGroup2.Partitions.GetByName("Measure2"); partition2.Process(ProcessType.ProcessAdd, new QueryBinding(dsv.DataSourceID, "SELECT * FROM SSAS.Data2"));
So, I need ProcessFull for Dimensions and ProcessAdd for the Cube.
Processing for Dimensions is OK, but when ProcessAdd starts executing for the first partition, it goes on exception.. It says , that ProcessAdd can't be applied , because cube is not processed...
Could you help me to figure out how to execute processAdd for cube, after ProcessingFull for dimensions..
For additional info, please feel free to ask..
Thanks in advance