Saturday, February 25, 2012

Process AS Database

Hi There,

I have one Cube database with couple of facttable and dimensions (SQL 2005), one of the dimension is invoice dimension which has 2 million records, and as you know it is growing every day with new invoice.

I setup SSIS process cube task to process the whole AS Database, however it is failed on me. then I open up my project, try to process one cube at a time, it still gives me error and it is releated my invoice dimension, then I try to process the invoice dimension first, then process the cube, then there is no error.

so the question is: for chaning dimension (new entry every day), should I process this first before processing the cube? I thought when you process the whole AS Database, it should automatically process the dimension then cube.

Thanks

When you are getting the errors, it sounds like you have fact records that have keys pointing to dimension values that have not yet been pulled into the invoice dimension. Processing the invoice dimension first or processing the whole database will avoid this problem. Still, there are other approaches.

First, SSAS includes Unknown member logic. There are a series of properties set on both the dimension and on the cube that determine how this situation is handled. You can configure your cube to recognize the missing dimension value, substitute the Unknown member in its place, and move on. (Use Books Online to help you get started with this. Search for "Unknown Member".)

I must make clear I personally do not like this approach. There are better ways to handle missing/late arriving dimension values, but there are situations where this may be appropriate.

Second, I don't know much about your model, but it sounds like you are working with what Kimball would call a degenerate dimension which is addressed in SSAS as a "fact dimension". Take a look at the Books Online document "Defining a Fact Relationship ". Using fact dimensions may offer some processing advantages to you.

Thanks,
Bryan Smith

|||

Hi Bryan,

Thanks a lot for quick reply. I realize there is error configuration for unknow member, but in my case, this is, as you pointed out correctly, "late arriving dimension", it really should not be in "Unknown", you should think As should be smart enough to process the dimension first, then cube, but it seems not the case here.

No comments:

Post a Comment