A mini dimension!!!!
Guys, so what a slowly changing dimension that is not really slow called?? Of-course, A Fast Moving Dimension…. Hahahaaa
Do you see these characteristics in your dimensions?
- Has Attributes that are rapidly changing
- Tracking Changes as type 2 grow the dimension like crazy
- Seems to be surpassing the fact in a short time
If you think it has, then its time to churn out a Mini out of your dimension.
So, what a Mini Dimension is?
Simply put, It is a separate dimension with the Set of rapidly changing attributes of the original dimension, talking to the fact directly.
A Grand Total or Measures at different grains in an analysis is quite a common requirement for BI reports. If we are using Oracle Business Intelligence tool, it is quite smart and intelligent to combine multiple sub-queries for each request into a single query and fire it to the database. The database being robust (and supposed to be) and just because database guys have always been my best friends, I have been pretty happy to see this kind of intelligent query design, and all the query processing load being transferred to the database. However, we might have seen this might not be the case always (yes, even after enabling WITH clause in db features of the database).I have seen a case myself recently,when the BI Server thought of splitting the single request to multiple and joining the record sets in its engine.
We can force the BI Server to always try to keep it as a single query by adding the following parameter in your NQSConfig.ini
DISABLE_SUBREQUEST_CACHING = YES
So if you notice from this parameter, we can understand that the BI Server has a tendency to split queries and cache them individually and combine on demand, which I think is again another smart way of working on a request. So, it’s upto us to choose on this processing.
NOTE: This parameter is only to direct the BI Server not to split queries. So it means, you could still see some queries split up if the Server does not think if it can combine.
Hope you found this useful and till I catch up again, Adios.
Today, was yet another interesting day in our cube design, this time it was when loading to an Essbase’s ASO. We have some numbers that are relevant to only some dimensions and so, I had to come up with a rules file to load these numbers to my ASO cube. In my data loading wizard header section, I included Generation 1 members of these irrelevant dimensions, and validated the rules file to be correct.
However, when I was loading data using this rules file, I consistently hit at the error ” “Aggregate storage applications ignore update to derived cells.  cells skipped”. I have been through Essbase error message descriptions for this message again and again to read that data cannot be loaded at non level-0 members and members with formula. However, I noticed that the same rules file could load data to a BSO, and was wondering why it fails for ASO. After going through my outline, design, etc, I realized one costly mistake in my rules file. The essbase error messages list clearly said, data cannot be loaded to Non Level 0 and members for formula. However, in my rules file I set the header to Generation 1 Members of my irrelevant dimensions and this was the cause.
So, to work around this constraint all I had to do, was create a level 0 member in these irrelevant dimensions (Just say a member : Unidentified ) and set this member in the rules file data loading header section.