<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7434327187134220306</id><updated>2011-07-30T22:45:35.139-07:00</updated><category term='Misc'/><category term='OBIEE'/><title type='text'>Oracle Business Intelligence EE (OBIEE)</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://obiee-som.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7434327187134220306/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://obiee-som.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Somashekar</name><uri>http://www.blogger.com/profile/17134335086113205181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7434327187134220306.post-838496791266346891</id><published>2010-02-16T03:56:00.000-08:00</published><updated>2010-02-16T04:05:53.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OBIEE'/><title type='text'>Conforming Dimensions - How do we push the conforming dimension join to the database &amp; how do we push the conforming dimension join to the BI Server ?</title><content type='html'>In this post trying to answer Venkat's puzzle which is available in this blog entry : &lt;a href="http://www.rittmanmead.com/2010/02/14/oracle-bi-ee-10-1-3-4-1-puzzlers-puzzle-2/"&gt;puzzlers-puzzle-2&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;“How do we push the conforming dimension join to the database and how do we push the conforming dimension join to the BI Server(how do we control this behavior)?” &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;First will try to answer "How do we model the same repository above to achieve the conforming dimension join to happen in the BI Server memory?" &lt;br /&gt;&lt;br /&gt;Steps. &lt;br /&gt;1. Create Physical and BMM layer joins as below between CHANNELS,SALES and COSTS tables. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qAMxlZklI/AAAAAAAABH8/6lwDC0cmB5M/s1600-h/Physical+and+BMM+joins.bmp" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5438800456960283218" src="http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qAMxlZklI/AAAAAAAABH8/6lwDC0cmB5M/s320/Physical+and+BMM+joins.bmp" style="height: 134px; margin: 0px 10px 10px 0px; width: 320px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;2. Complete model upto Presentation layer and create a report with the below combinations. &lt;br /&gt;&lt;br /&gt;&lt;div align="center" class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_xyEDAjgcYeY/S3qDSYZtcRI/AAAAAAAABIE/Ib1paq3J-xA/s1600-h/report.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://3.bp.blogspot.com/_xyEDAjgcYeY/S3qDSYZtcRI/AAAAAAAABIE/Ib1paq3J-xA/s320/report.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="right"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;3. With this join condition below is the query which gets executed and join happens at BI Server memory.&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qEn-0RyJI/AAAAAAAABIM/a_I1jikvC0Y/s1600-h/query1.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qEn-0RyJI/AAAAAAAABIM/a_I1jikvC0Y/s320/query1.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here trying to answer the original question which Venkat has asked how do we force so that BI server execute join condition query at database level.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;For this we just need to change some of the default properties of database in Physical layer of RPD, where default features will be set for each database under database properties "Features" tab.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here are the 2 default features which we need to uncheck,&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;PERF_PREFER_MINIMAL_WITH_USAGE,PERF_PREFER_INTERNAL_STITCH_JOIN&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qGyEX8rtI/AAAAAAAABIU/5i3x4QVnvwk/s1600-h/dbfeatures.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qGyEX8rtI/AAAAAAAABIU/5i3x4QVnvwk/s320/dbfeatures.bmp" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;With the above changes if we execute the same report again below query will be executed on database.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;pre&gt;-------------------- Sending query to database named SH (id: &amp;lt;&amp;lt;15392&amp;gt;&amp;gt;):&lt;br /&gt;WITH &lt;br /&gt;SAWITH0 AS (select sum(T170.UNIT_COST) as c1,&lt;br /&gt;     T162.CHANNEL_DESC as c2&lt;br /&gt;from &lt;br /&gt;     CHANNELS T162,&lt;br /&gt;     COSTS T170&lt;br /&gt;where  ( T162.CHANNEL_ID = T170.CHANNEL_ID ) &lt;br /&gt;group by T162.CHANNEL_DESC),&lt;br /&gt;SAWITH1 AS (select sum(T251.QUANTITY_SOLD) as c1,&lt;br /&gt;     T162.CHANNEL_DESC as c2&lt;br /&gt;from &lt;br /&gt;     CHANNELS T162,&lt;br /&gt;     SALES T251&lt;br /&gt;where  ( T162.CHANNEL_ID = T251.CHANNEL_ID ) &lt;br /&gt;group by T162.CHANNEL_DESC)&lt;br /&gt;select distinct case  when SAWITH1.c2 is not null then SAWITH1.c2 when SAWITH0.c2 is not null then SAWITH0.c2 end  as c1,&lt;br /&gt;     SAWITH0.c1 as c2,&lt;br /&gt;     SAWITH1.c1 as c3&lt;br /&gt;from &lt;br /&gt;     SAWITH0 full outer join SAWITH1 On SAWITH0.c2 = SAWITH1.c2&lt;br /&gt;order by c1&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7434327187134220306-838496791266346891?l=obiee-som.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://obiee-som.blogspot.com/feeds/838496791266346891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://obiee-som.blogspot.com/2010/02/conforming-dimensions-how-do-we-push.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7434327187134220306/posts/default/838496791266346891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7434327187134220306/posts/default/838496791266346891'/><link rel='alternate' type='text/html' href='http://obiee-som.blogspot.com/2010/02/conforming-dimensions-how-do-we-push.html' title='Conforming Dimensions - How do we push the conforming dimension join to the database &amp; how do we push the conforming dimension join to the BI Server ?'/><author><name>Somashekar</name><uri>http://www.blogger.com/profile/17134335086113205181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xyEDAjgcYeY/S3qAMxlZklI/AAAAAAAABH8/6lwDC0cmB5M/s72-c/Physical+and+BMM+joins.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7434327187134220306.post-9156488419820335907</id><published>2010-02-16T02:15:00.000-08:00</published><updated>2010-02-16T02:25:39.829-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>My First Blog</title><content type='html'>Ever since i started to work on OBIEE I'm frequent visitor of blogs on OBIEE by Rittman, Venkat, John Minkjan and by others also. From where i had learned a lot and even i got inspired by these blog and today got time to start blogging.&lt;br /&gt;&lt;br /&gt;--Som&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7434327187134220306-9156488419820335907?l=obiee-som.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://obiee-som.blogspot.com/feeds/9156488419820335907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://obiee-som.blogspot.com/2010/02/my-first-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7434327187134220306/posts/default/9156488419820335907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7434327187134220306/posts/default/9156488419820335907'/><link rel='alternate' type='text/html' href='http://obiee-som.blogspot.com/2010/02/my-first-blog.html' title='My First Blog'/><author><name>Somashekar</name><uri>http://www.blogger.com/profile/17134335086113205181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
