Request Variables to the Rescue!!!

Zeta Gundam!!!

To the Rescue!!!

With differing capacities of Integration and Production servers, most of the times developers miss an important perspective; How would their code scale in the production systems. I had such a situation, where I could bring in drastic improvements in my report retrieval times.

Ever wished, you had a way to override session level information with users selections? If you were one just like me looking forward to tune your reports further, you would just love the request variables in OBIEE 11g.
Continue reading

Advertisements

Fast Moving Dimension.. Don’t tell me you have one!!!

Neo Futuron Chicken Walker

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.

What is a Dimension!! No, seriously What is a Dimension

Happy Thanksgiving

One of my dimensions..

Last week, I had quite an interesting day at my office. Myself and my client got into a war room and sat down with a bunch of papers in one hand and a Teh-O (yes, Teh-O) in the other. We started off to design our dimensional model, and it went quite well for a while, when a question popped up; What is a Dimension. This is really an interesting one, and have not been asked by anybody for quite a while!!! I sat perplexed, and started explaining.

Continue reading

OBI Server Splits Queries

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.

An Interesting Case of An Essbase Dimension and its Attributes in RDBMS

Being a BI Consultant, I often browse through a number of BI forums for a quick glance on the things going on and to offer some peer help. I have recently come across an interesting case on oracle OBIEE forums, where there was a dimension in Essbase but its attributes are in a relational database and the numbers have to be reported using the attributes too apart from the dimension members. I have given it a thought, and it certainly seemed to be a good candidate to be in my blog.

Aggregate storage applications ignore update to derived cells…

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.