Process Structure in SSAS

Posted on Feb 12 2012 - 2:05am by roopesh.valluru


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



About the Author

2 Comments so far. Feel free to join this conversation.

  1. Sospixs September 26, 2012 at 7:59 am -

    Hi Roopesh Valluru

    I have some question about processing cube.
    This is my step.

    1 I’ve deploy olap project to server
    Structure of cube
    -CubeAAA containing 3 Measure group

    2 I do process all dimension with Full Process
    3 I forgot to process structure of cube , That’s begin of problem
    4 I do process Measure group MG1 + MG2 all night and processing success
    5 In the morning i’m try to browse cube , That’s impossible caz i forgot to process cube structure.

    The questions are
    1 How can I bring cube to online and can browse data without losing data ?
    2 I knew I do mistake in processing cube step. But I don’t need to re-process data because it take long time. How can I solve this problem ?
    3 Why SSAS allowed to process data before process cube structure ? I not make sense that if I do process data first and I can not browse data would you please explain this issue ?

    Another question about OLAP Pivot in excel 2010

    When create pivot table from OLAP Server
    Name pivot table1 and I do browsing data and filter data in pivot.
    When I copy pivot table1 to another sheet Name : pivot table2 and change data in pivot table 2 that i want to.

    When coming back to pivot table1 and I just want to only refresh pivot table1.
    It seem to be excel is refresh all pivot table in workbook.
    That’s a big problem for me because in my workbook contains a ten sheet and pivot table.
    Would you please help me ?
    Are you mind if I email you?


    • roopesh.valluru September 26, 2012 at 11:57 am -

      Try this to solve your Pivot Issue.

      If you created the pivot tables by copying an existing pivot table,
      they’re based on the same pivot cache, and that’s what you’re refreshing.

      To create a different pivot cache for a pivot table:
      Right-click a cell in the pivot table, and choose PivotTable Wizard
      Click the Back button
      For the data range, change the last row so it’s one row up. For example,
      if the current range is A1:M500, change it to A1:M499
      Click Finish
      The pivot table will now have a separate pivot cache.
      Go back into the PivotTable Wizard, and change the data range to its
      previous setting, and click Finish.

      Will answer the First question when I am done with office work .. ;)

      Roopesh Babu V