Showing posts with label coz. Show all posts
Showing posts with label coz. Show all posts

Monday, March 12, 2012

processing cube with partitions

Hi,

I have a cube with 2 partitions. Are these 2 partitions being processed everytime I have a ProcessData and Process Index? Coz i worry that if it's just processing 1 partition every time, i might have new data in one extraction that should reside in Partition 1 and another set of data (also in the same extraction) that reside on Partition 2.

cherriesh

If you are issuing your ProcessData and ProcessIndex commands against the cube, then it will cascade down and process all the partitions in that cube.|||

ic... but is there an option which partition i will just process?

cherriesh

|||Sure, you can process just one partition at a time (or multiple in parallel). There are multiple ways to do this. You can right click on a partition in SSMS and process it or you can build an XMLA command to process one or more partitions, you can do it from the partitions screen in BIDS.|||

is it a standard to just process only a partition of a cube every time (mine is partitioned based on This Year and Previous Years...) or by using Process Data and Process Index instead (meaning, process all)? What do you usually do?

|||

Usually you try to only process the smallest amount of data possible. I have done both extremes, sometimes I have to process the entire cube everytime, other times I only do a recent partition. It depends on the nature of the data and the source systems.

Note: ProcessData and ProcessIndex can be done at a partition level too. In fact when you do a process operation at the cube level, all that happens is that SSAS performs the specified processing command on each partition in the cube.

|||

Hi,

How to do it in the partition level?

thanks a lot!

cherriesh

|||

I don't have access to an Adventure Works database at the moment, so I don't know if the object Id's below are valid, but the basic structure of the XMLA command to process a partition would look like the following.

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">

<Parallel>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

xmlnsBig Smiledl2=http://schemas.microsoft.com/analysisservices/2003/engine/2

xmlnsBig Smiledl2_2=http://schemas.microsoft.com/analysisservices/2003/engine/2/2>

<Object>

<DatabaseID>Adventure Works DW</DatabaseID>

<CubeID>Adventure Works</CubeID>

<MeasureGroupID>Sales</MeasureGroupID>

<PartitionID>Sales 2003</PartitionID>

</Object>

<Type>ProcessFull</Type>

<WriteBackTableCreation>UseExisting</WriteBackTableCreation>

</Process>

</Parallel>

</Batch>

You can also navigate to the partition in the object browser in SSMS, right click on one and process it and you should be able to use the processing task in SSIS to do just a single partition. There are probably a couple of other methods of doing this too, essentially the all end up sending an XMLA command to the SSAS server. In my example I am using ProcessFull, but ProcessData and ProcessIndex will work at the partition level.

processing cube with partitions

Hi,

I have a cube with 2 partitions. Are these 2 partitions being processed everytime I have a ProcessData and Process Index? Coz i worry that if it's just processing 1 partition every time, i might have new data in one extraction that should reside in Partition 1 and another set of data (also in the same extraction) that reside on Partition 2.

cherriesh

If you are issuing your ProcessData and ProcessIndex commands against the cube, then it will cascade down and process all the partitions in that cube.|||

ic... but is there an option which partition i will just process?

cherriesh

|||Sure, you can process just one partition at a time (or multiple in parallel). There are multiple ways to do this. You can right click on a partition in SSMS and process it or you can build an XMLA command to process one or more partitions, you can do it from the partitions screen in BIDS.|||

is it a standard to just process only a partition of a cube every time (mine is partitioned based on This Year and Previous Years...) or by using Process Data and Process Index instead (meaning, process all)? What do you usually do?

|||

Usually you try to only process the smallest amount of data possible. I have done both extremes, sometimes I have to process the entire cube everytime, other times I only do a recent partition. It depends on the nature of the data and the source systems.

Note: ProcessData and ProcessIndex can be done at a partition level too. In fact when you do a process operation at the cube level, all that happens is that SSAS performs the specified processing command on each partition in the cube.

|||

Hi,

How to do it in the partition level?

thanks a lot!

cherriesh

|||

I don't have access to an Adventure Works database at the moment, so I don't know if the object Id's below are valid, but the basic structure of the XMLA command to process a partition would look like the following.

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">

<Parallel>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

xmlnsBig Smiledl2=http://schemas.microsoft.com/analysisservices/2003/engine/2

xmlnsBig Smiledl2_2=http://schemas.microsoft.com/analysisservices/2003/engine/2/2>

<Object>

<DatabaseID>Adventure Works DW</DatabaseID>

<CubeID>Adventure Works</CubeID>

<MeasureGroupID>Sales</MeasureGroupID>

<PartitionID>Sales 2003</PartitionID>

</Object>

<Type>ProcessFull</Type>

<WriteBackTableCreation>UseExisting</WriteBackTableCreation>

</Process>

</Parallel>

</Batch>

You can also navigate to the partition in the object browser in SSMS, right click on one and process it and you should be able to use the processing task in SSIS to do just a single partition. There are probably a couple of other methods of doing this too, essentially the all end up sending an XMLA command to the SSAS server. In my example I am using ProcessFull, but ProcessData and ProcessIndex will work at the partition level.