![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Can anyone settle an argument about partitions & changing dimensions? Consider a typical sales cube, with customers, products & time. The Customers dimension includes the salesman to whom the customer is assigned. (eg hierarchy is Country/Salesman/Customer) This changes over time as salesmen arrive, quit, die, etc. We want to be able to view all the data by the salesman currently responsible for the customer. The first and most obvious option is to re-process the customer dimension each evening, and fully process the cube. This works. However fully processing the whole 5 years' worth of data will take longer than is available. If the cube is partitioned by year, and we just re-process the current year, then the time would come down. However, will the data in the non-processed partitions now be incorrect? ie will data from prior years still show under the most recent salesman? I think it has to be corrupted, but there is no documentation I can find to say either way. Alternatively, if we make the Customer dimension a "changing dimension" in analysis services, then BOL says we able to re-process (refresh?) this dimension without having to re-process the cube. I have never used this feature; does it work, and is it still true if we partition the cube? We're trying to create a test data set to see exactly what happens under each situation above, but help or advice from anyone who has been here before would be appreciated. Regards, Richard R |
#3
| |||
| |||
|
|
First, a simple question: When you say "quit, die, etc.", what do you want to do with their data? I assume you want the data to be there, but the customer just goes to "unassigned" or "unknown" node?? Or what should happen? Second, when you say "arrive", what kind of special processing needs to happen? Ordinarily, you would just incrementally process the dimension, the new sales person appears in the dimension and then you can start to having fact table records start to appear. Adding new records to a dimension table is no problem; just add them. In this case, since you've described a regular hierarchy, what should the hierarchy look like if there are no customers assigned to a sales person? As you can see, this isn't a straightforward question, although on the surface it does sound simple :-) What you are describing "kind-of-sounds" like a type-2 slowly changing dimension, but you didn't phrase it that way, so before we answer, I'd like to understand what you would LIKE to have happen. BTW: a changing dimension is NOT the same as a slowly-changing dimension, so please be careful with how you phrase your description of what you would like to see. -- Dave Wickert [MSFT] dwickert (AT) online (DOT) microsoft.com Program Manager BI SystemsTeam SQL BI Product Unit (Analysis Services) -- This posting is provided "AS IS" with no warranties, and confers no rights. "Richard R" <rrose (AT) informsnospam (DOT) co.uk> wrote in message news:OlnNzLKpEHA.3552 (AT) TK2MSFTNGP15 (DOT) phx.gbl... Can anyone settle an argument about partitions & changing dimensions? Consider a typical sales cube, with customers, products & time. The Customers dimension includes the salesman to whom the customer is assigned. (eg hierarchy is Country/Salesman/Customer) This changes over time as salesmen arrive, quit, die, etc. We want to be able to view all the data by the salesman currently responsible for the customer. The first and most obvious option is to re-process the customer dimension each evening, and fully process the cube. This works. However fully processing the whole 5 years' worth of data will take longer than is available. If the cube is partitioned by year, and we just re-process the current year, then the time would come down. However, will the data in the non-processed partitions now be incorrect? ie will data from prior years still show under the most recent salesman? I think it has to be corrupted, but there is no documentation I can find to say either way. Alternatively, if we make the Customer dimension a "changing dimension" in analysis services, then BOL says we able to re-process (refresh?) this dimension without having to re-process the cube. I have never used this feature; does it work, and is it still true if we partition the cube? We're trying to create a test data set to see exactly what happens under each situation above, but help or advice from anyone who has been here before would be appreciated. Regards, Richard R |
![]() |
| Thread Tools | |
| Display Modes | |
| |