Data Warehousing, BI and Data Science

28 June 2011

Processing ROLAP Cube and ROLAP Dimension

Filed under: Analysis Services — Vincent Rainardi @ 9:41 pm
Tags:

Someone asked me today: he created a ROLAP cube with MOLAP dimension. He made some changes to the dim and did a process full on the cube. He expected to see the changes but he couldn’t see the changes when browsing the cube. He was wondering why. If he processed full the database he could see the changes when browsing the cube.

After trying out a few things myself, I responded to him. My response could be useful for somebody else so I share it here. I understand there are many AS experts out there and if any of below is wrong, I will be glad to learn from them.

Process full does not affect all objects. Process full affects only the object that we process.
If we do process full on a cube, then only the cube will be processed. The dimensions will not be processed.
If we do process full on a dimension, then only that dimension will be processed. The cube will not be processed.
To process everything (both cube and dimensions), we need to process the database.

Using ROLAP cube, if you add a row in your fact table, you do not need to process anything. You will automatically see the new row when you browse the cube.

But, in a cube there are measure groups (MG). And in a measure group there are partitions.
If you set the cube to ROLAP, but the MGs and partitions are still MOLAP, then you won’t see the changes in the fact table.
If you set the cube and the MGs to ROLAP but the partitions are still MOLAP, then you won’t see the changes in the fact table.

Because the partitions are MOLAP you need to process the cube to see the changes in the fact table.
It is the partition that determines the overall settings.
If you set the cube and the MGs to MOLAP but the partitions are in ROLAP, then you will see the changes in the fact table without processing anything.

Impact analysis:
If you do a process full on a dimension and do impact analysis, you get the partition, the MG and the cube.
If you do a process update on a dimension and do impact analysis, you don’t get anything. Which means that you don’t need to process the cube (in theory)
If you do a process full on a cube and do impact analysis, then you don’t get the dimensions.

As I said above, if your cube is ROLAP, and you change your fact table, you do not need to process anything. You will automatically see the changes when you browse the cube.
But, if your dimension is ROLAP, and you change the value on the dimension table, then you need to process the dimension to see the change.

You can’t see the changes you made on the dimension table if you don’t process the dimension.
You don’t need to process full the dimension. Process update or process data is enough to see the changes.

Going back to “Process full does not affect all objects”, if you want to process affected objects, then select “Change Settings” and choose “Process affected objects”. For example, when process full a dimension, you if you select “Process affected objects” you will also process the partition, MG and cube.

Going back to “Process full affects only the object that we process”, process full processes both data and index.
Process data processes data only. Process index processes index only.
But process full only processes the object we process, not all objects in the database.

Hope this helps. Vincent Rainardi, 28/6/2011.

Advertisements

5 Comments »

  1. Sorry, what is a “ROLAP cube”? Storage modes, such as ROLAP, are defined for dimensions and measure groups. Thus, a phrase like “If you set the cube to ROLAP, but the MGs and partitions are still MOLAP” does not make sense to me.

    Comment by Dimitri Shvorob — 16 December 2014 @ 12:21 pm | Reply

    • Hi Dimitri, storage modes are available for cubes, measure groups, partitions and dimension.
      On the Cube Structure tab, click on the cube, then see the property. At the bottom of the property list you will see a property called StorageMode: Rolap, Molap, Holap or InMemory.

      Comment by Vincent Rainardi — 16 December 2014 @ 7:43 pm | Reply

  2. A cube does not have a storage mode – the setting is only there to define the default storage mode for any new measure groups added to the cube

    Comment by Alan Halsall — 28 May 2015 @ 3:56 pm | Reply

    • Hi Alan, a cube does have a storage mode. In SSDT, double click the cube in the Solution Explorer, right click the cube name in the Measure pane, choose properties. In the Property pane (lower right of the screen), scroll to the bottom and you will find the Storage Mode. Or in SSMS, right click the cube name, Properties, Proactive Caching. Here you can choose between MOLAP, OLAP or HOLAP.

      Comment by Vincent Rainardi — 28 May 2015 @ 9:21 pm | Reply

  3. Hi Vincent, Thanks a lot, it helped me more understanding of ROLAP.

    Comment by Chetan — 16 June 2016 @ 6:19 pm | Reply


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: