Process Structure in SSAS



There are many ways to process a cube but when you are doing Defect Fixing then the best option to test you fix is “Process Structure”. In this post let us discuss about the use of Process Structure processing type.

You can process at different levels like –

  • Dimensions
  • Solution
  • Cube
  • Partitions

You will find different options at different levels. For example You can find only the following three options while processing at solution level –

  • Process Full
  • Process Default
  • Unprocess

and if you see at dimension level you can see new set(including the set given at solution level) like –

  • Process Data
  • Process Index
  • Process Update

The Hero of the post “Process Structure” is available at Cube level. Before jumping into the topic let’s spend some time on understanding WHAT IS PROCESS ? a worth question to be asked to ourselves.

Processing a cube is very important in SSAS as the end user cannot access the data from Cube database until we process the cube. Cube Processing will do the following things –

  • Will read data for dimensions and creates indexes
  • Will read data for Measure Groups
  • Creates Aggregations

Until the complete Cube processing is done, we cannot access data from cube. While processing, the server READS data for each object(dimension,partitions,mining structures … ) and once the data read is completed it will MARK as PROCESSED for that particular object. When you try to browse data from cube then the server first checks whether the STATE of ALL objects is PROCESSED or not. If not then it will return you a message saying “Cube is not available as it is not completely processed”.

Now let’s come back to our story i.e the advantage of “Process structure”. Let’s say there are 10 dimensions and 3 Measure Groups in you cube and Testing Team raised an issue related to a Measure Group data then the best option to test your FIX is “Process Structure”. “Process Structure” processes all the dimensions and MARK(Yes,Just Marks) all the measure groups as PROCESSED. So, you can browse your cube as all the objects are Marked as Processed. Then you can PROCESS the MEASURE GROUP you want and check the FIX and if everything is fine then you can go ahead in processing the remaining Measure Groups.

Let’s see one more scenario which is from my experience. There were 20 Measure Groups in my last projects and  for Processing all the Measure Groups it was taking something around 10 Hours and always ONE Measure Group was creating problem. So the step we followed was –

  • Process Structure of Cube
  • Process the Dimension which was creating problem
  • Validate the Measure Group Data
  • Process the remaining measure groups

The above method saved lot of time in case of an error as we doesn’t need to process all the partitions to find whether data is coming correct or not. You can find this option under cube Processing options as shown in below Screenshot –

In Simple “Process Structure” is a cheat which marks as Partitions(Measure Groups) as Processed with out actually processing and makes cube available for browsing. This really saves your time while Defect Fixing.

That’s it .. Happy Coding and Please make Full use of “Process Structure” .. 🙂


Roopesh Babu V