Monday, February 22, 2010

OBIEE - Maps integration

I recently was asked about the different options of visualizing data in OBIEE on maps. Since many of the usual suspects (you'll see form the link-list below) have already blogged about this, it is easiest to provide a list with all good and informative articles rather than writing a completely new post. Here goes:

Google Maps:
www.artofbi.com:
http://www.artofbi.com/index.php/2009/07/obiee-and-google-maps-integration/

John:
http://obiee101.blogspot.com/2008/10/obiee-using-google-maps-q-style.html

Oracle Mapviewer / Oracle Spatial:
Venkat:
http://oraclebizint.wordpress.com/2007/09/25/oracle-bi-ee-10133-and-mapviewer-step-by-step-integration-phase1/

Gerard:
http://gerardnico.com/wiki/dat/obiee/presentation_service/obiee_dynamic_integration_oracle_map_nsdp

Lapp, Conrad & Sharma (OOW 2008):
http://www.oracle.com/technology/products/mapviewer/pdf/mapviewer_obiee.pdf
Abhinav (OOW 2008):

Maarten (RittmanMead Forum 2009):
http://www.rittmanmead.com/files/maarten_jan_kampen_obiee_mapviewer.pdf

If you have any other good links - preferably with examples and code snippets - post a comment and I will update the list. Maybe we will get this into a sticky thread on OTN.

See ya!

Monday, February 1, 2010

OBIEE 10g presentation server cache directory parameter

A while back our oraclenerd had a question about presentation server cache settings which he sent out through twitter.



rnm1978 and me answered to his distress call (emails not included. twitter's quite useless for sending instanceconfig.xml subsets ;-)).



However, I wanted to make it clear through this post, what part of the presentation server cache is actually managed by which parameter since there's a little gotcha in there.
So basically we there are four parameter which exist for the presentation servers instanceconfig.xml (see also Johns pdf extract). By default they're not explicitly noted in the file so you need to specify them in order to change them. Here's a little sample with already modified paths:



Now normally the cache files for the presentation server reside in the \tmp directory within the respective subdirectories sawcharts, sawrptcache and sawvc; with the xml cache files lying in the \tmp folder itself. Note that I cleaned out all files in the directory for in the screenshot below to have a clean testing baseline:



Restarting the presentation server with the additional XML above gives me the following results:

Chart cache:


Report cache:


State pool cache:


XML cache:


XML cache empty? Aha, seems there's an issue. Let's check the original path:


The XML cache files are still here. Not really what we wanted. So the XMLCacheDefault CacheDirectory seems to be useless. At this point I actually created an SR on MyOracleSupport to confirm a hunch I had. Result:
"With regards the parameter , I have researched this and have not found any documentation on it, internally or published. Infact through my research it appears that it has never been the case that this parameter is used to determine the path of the nqsxxxx temp files.
Previous versions of OBI i.e. Siebel Analytics document that the temp files generated by the Analytics Web server could be redirected by using the parameter 'TempDir' in Instance config or as a registry variable, in conjunction with the work directory path."

So off to the NQSConfig.ini and change the WORK_DIRECTORY_PATHS:

#WORK_DIRECTORY_PATHS = "C:\Oracle\OracleBIData\tmp";
WORK_DIRECTORY_PATHS = "C:\DataSources\Cache\tmp";
SORT_MEMORY_SIZE = 4 MB ;
SORT_BUFFER_INCREMENT_SIZE = 256 KB ;
VIRTUAL_TABLE_PAGE_SIZE = 128 KB ;

After that, restart all the services and check again where the cache files went.



Ok now we know how to make the rest of the cache files elsewhere.

Cheers!

OBIEE/Essbase: how to handle missing facts

A question which I never covered in my blog yet since it was too basic and should normally work at all times when you import an Essbase cube:
How do I get a fact to display in the BMM layer after importing a cube?

The question came up here and basically has its origin in a bizarre cube outline. Correctly defined cubes will never face this (and hence no one covered it yet, though I already spoke about changing the measure hierarchy).

Let's look at an import without a working "fact" (in OBIEE terms...).



No fact columns...but why? Let's open the properties of the physical cube table and check the properties of the hierarchy "Account" (my measure hierarchy).



Now that's just wrong. The "fact" must be the measure hierarchy. Let's change that.



Better. Now we're still missing the actual fact columns (i.e. the members of the measure hierarchy in the Essbase outline.). In my case that should be Costs, Gross Sales, Net Sales, Returns and Sales.




Repeat that for the other four.



Now drag-and-drop the whole thing to your BMM layer.



Done.