<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Miky Schreiber's Blog - BI|Oracle|OBIEE</title>
    <link>http://www.miky-schreiber.com/Blog/</link>
    <description>Business Intelligence, Analysis Services, MDX, DataWarehousing and more...</description>
    <language>en-us</language>
    <copyright>Miky Schreiber</copyright>
    <lastBuildDate>Wed, 21 Jul 2010 12:09:06 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>miky@zahav.net.il</managingEditor>
    <webMaster>miky@zahav.net.il</webMaster>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=92ecf93e-0cc7-418e-b092-918adc819e22</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,92ecf93e-0cc7-418e-b092-918adc819e22.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,92ecf93e-0cc7-418e-b092-918adc819e22.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=92ecf93e-0cc7-418e-b092-918adc819e22</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>Note: In order to understand and implement this you need to know <a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx">how
to add JavaScript to OBIEE</a>. I strongly suggest you to read my <a href="http://www.miky-schreiber.com/Blog/CategoryView,category,BI%2cOracle%2cOBIEE.aspx">older
posts about OBIEE manipulation</a>. this feature has been tested on version 10.1.3.4</em>
        </p>
        <p>
I've been <a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx">asked</a> how
to create radio-buttons prompt in OBIEE dashboards. The purpose of this is to make
the dashboard more beautiful, becasue radio buttons looks better than drop down list
(aka ddl). Another nice thing you can do with this is to add description to every
option (as I hope to implement in the near future). So, this is how you'll do it:
</p>
        <ul>
          <li>
In the OBIEE Administration application, I have a session variable called MyProjectWorkingMode
(replace MyProject with your project name). This variable controls the mode (or whatever)
of the user (let's say it can be red, green or blue). The default value for this variable
is red. This variable is important for us because we'll use it to "remember" what
the user selected. 
</li>
          <li>
In OBIEE Answers, I created a dashboard prompt which is a drop-down-list. This prompt
has the same default value as the variable (red, in our example) and it sets our variable. <strong>important</strong>:
the caption of this prompt must be MyProjectWorkingMode. 
</li>
          <li>
In order for us (or the JS code) to know in which mode we are we'll create a report
called MyProjectCurrentWorkingMode. Put there one column which will show our variable's
value and one column from the presentation layer (all reports must go to the underlying
DB). The expression in the first column will be ValueOf(NQ_SESSION.MyProjectWorkingMode).
In the results tab, create a narrative view which will have a div <strong>with the
id</strong>="MyProjectWorkingMode<strong>Div</strong>" and inside it write @1. This
will give us the current working mode inside the div. In the compound view, make that
the report will only contain the narrative view. Save the report. 
</li>
          <li>
Create a new dashboard page. Add Text object and inside it put the javascript code
from the file attached to this post and replace anywhere the "MyProjectWorkingMode"
with the name you entered. Make sure the name is the same as in the prompt's
caption and the div. Don't forget to mark the "contains HTML markup" checkbox.
Add the report we created in the previous step in a seperate Section and hide that
section (Properties -&gt; Format Section -&gt; Use Custom CSS style = display:none).
Add the dashboard prompt. 
</li>
          <li>
That's it. If you did everything right, the JS code will make the ddl as radio buttons.</li>
        </ul>
        <p>
I suggest that you'll get over the JS code in the file attached in order to understand
what I did. That will let you change the implementation if something is not as you
wanted.
</p>
        <p>
          <em>Last thing: Before you ask me why it doesn't work in your application, make sure
you did everything right and that you have the same version as mine. If it still refuse
to work, ask for help from a web/JS developer who can debug the code and see what
failed. In my previous posts my features didn't work for some and they thought that
this ain't working, where it worked for a lot of people who thanked me.</em>
        </p>
        <p>
Enjoy.
</p>
        <a href="http://www.miky-schreiber.com/Blog/content/binary/obieeRadioButtons.txt">obieeRadioButtons.txt
(4.12 KB)</a>
        <img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=92ecf93e-0cc7-418e-b092-918adc819e22" />
      </body>
      <title>Radio Buttons Prompt in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,92ecf93e-0cc7-418e-b092-918adc819e22.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,92ecf93e-0cc7-418e-b092-918adc819e22.aspx</link>
      <pubDate>Wed, 21 Jul 2010 12:09:06 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;Note: In order to understand and implement this you need to know &lt;a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx"&gt;how
to add JavaScript to OBIEE&lt;/a&gt;. I strongly suggest you to read my &lt;a href="http://www.miky-schreiber.com/Blog/CategoryView,category,BI%2cOracle%2cOBIEE.aspx"&gt;older
posts about OBIEE manipulation&lt;/a&gt;. this feature has been tested&amp;nbsp;on version 10.1.3.4&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
I've been &lt;a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx"&gt;asked&lt;/a&gt; how
to create radio-buttons prompt in OBIEE dashboards. The purpose of this is to make
the dashboard more beautiful, becasue radio buttons looks better than drop down list
(aka ddl). Another nice thing you can do with&amp;nbsp;this is to add description to every
option (as I hope to implement in the near future). So, this is how you'll do it:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
In the OBIEE Administration application, I have a session variable called MyProjectWorkingMode
(replace MyProject with your project name). This variable controls the mode (or whatever)
of the user (let's say it can be red, green or blue). The default value for this variable
is red. This variable is important for us because we'll use it to "remember" what
the user selected. 
&lt;li&gt;
In OBIEE Answers, I created a dashboard prompt which is a drop-down-list. This prompt
has the same default value as the variable (red, in our example) and it sets our variable. &lt;strong&gt;important&lt;/strong&gt;:
the caption of this prompt must be MyProjectWorkingMode. 
&lt;li&gt;
In order for us (or the JS code) to know in which mode we are we'll create a report
called MyProjectCurrentWorkingMode. Put there one column which will show our variable's
value and one column from the presentation layer (all reports must go to the underlying
DB). The expression in the first column will be ValueOf(NQ_SESSION.MyProjectWorkingMode).
In the results tab, create a narrative view which will have a div &lt;strong&gt;with the
id&lt;/strong&gt;="MyProjectWorkingMode&lt;strong&gt;Div&lt;/strong&gt;" and inside it write @1. This
will give us the current working mode inside the div. In the compound view, make that
the report will only contain&amp;nbsp;the narrative view. Save the report. 
&lt;li&gt;
Create a new dashboard page. Add Text object and inside it put the javascript code
from the file attached to this post and replace anywhere the "MyProjectWorkingMode"
with the name you entered. Make sure the name is the same as in the&amp;nbsp;prompt's
caption and the div.&amp;nbsp;Don't forget to mark the "contains HTML markup" checkbox.
Add the report we created in the previous step in a seperate Section and hide that
section (Properties -&amp;gt; Format Section -&amp;gt; Use Custom CSS&amp;nbsp;style = display:none).
Add the dashboard prompt. 
&lt;li&gt;
That's it. If you did everything right, the JS code will make the ddl as radio buttons.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I suggest that you'll get over the JS code in the file attached in order to understand
what I did. That will let you change the implementation if something is not as you
wanted.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Last thing: Before you ask me why it doesn't work in your application, make sure
you did everything right and that you have the same version as mine. If it still refuse
to work, ask for help from a web/JS developer who can debug the code and see what
failed. In my previous posts my features didn't work for some and they thought that
this ain't working, where it worked for a lot of people who thanked me.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Enjoy.
&lt;/p&gt;
&lt;a href="http://www.miky-schreiber.com/Blog/content/binary/obieeRadioButtons.txt"&gt;obieeRadioButtons.txt
(4.12 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=92ecf93e-0cc7-418e-b092-918adc819e22" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,92ecf93e-0cc7-418e-b092-918adc819e22.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=7745c013-b12a-4b95-9302-8ed00629cb2a</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,7745c013-b12a-4b95-9302-8ed00629cb2a.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,7745c013-b12a-4b95-9302-8ed00629cb2a.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7745c013-b12a-4b95-9302-8ed00629cb2a</wfw:commentRss>
      <title>Joining in OBIEE with not-equality operator</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,7745c013-b12a-4b95-9302-8ed00629cb2a.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,7745c013-b12a-4b95-9302-8ed00629cb2a.aspx</link>
      <pubDate>Sun, 16 May 2010 15:42:16 GMT</pubDate>
      <description>&lt;= and &gt;If you want to join fact and dimension table based on non-equality operator, such as between statement or =, you can't do it using simple join. It will throw you the error "All operators must be equality". To do it, you must use the complex join (the one with the yellow button).&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=7745c013-b12a-4b95-9302-8ed00629cb2a" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,7745c013-b12a-4b95-9302-8ed00629cb2a.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=4e7887c4-c61c-4f52-8ab5-5d4417bbb714</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,4e7887c4-c61c-4f52-8ab5-5d4417bbb714.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,4e7887c4-c61c-4f52-8ab5-5d4417bbb714.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4e7887c4-c61c-4f52-8ab5-5d4417bbb714</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>
            <a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx">Do
you know how to add JS code to your OBIEE site?</a>
          </em>
        </p>
        <p>
It all started with a bug in OBIEE (version 10.1.3.4) and ended with a wonderful solution
that can help us in future problems. Look at the following report table:
</p>
        <table border="1">
          <tbody>
            <tr>
              <td>
                <p align="center">
                  <font size="2">
                    <u>Customer</u>
                  </font>
                </p>
              </td>
              <td>
                <p align="center">
                  <font size="2">
                    <u>Day</u>
                  </font>
                </p>
              </td>
              <td>
                <p align="center">
                  <font size="2">
                    <u>Shop</u>
                  </font>
                </p>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">A</font>
              </td>
              <td>
                <font size="2">1/1/2000</font>
              </td>
              <td>
                <font color="#0000ff" size="2">
                  <u>EBay</u>
                </font>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">B</font>
              </td>
              <td>
                <font size="2">15/2/2002</font>
              </td>
              <td>
                <font color="#0000ff" size="2">
                  <u>AdventureWorks</u>
                </font>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">C</font>
              </td>
              <td>
                <font size="2">28/5/2005</font>
              </td>
              <td>
                <font color="#0000ff" size="2">
                  <u>Office Depot</u>
                </font>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
Building the Business Model layer and the report correctly will take care that clicking
on the EBay link will take us to the Ebay shop page (in OBIEE, not ebay.com) which
is prompted on 1/1/2000 and customer A. This happens because the Shop report is also
prompted on Customer and Day. The problem starts when we sort the table by the shop
name:
</p>
        <table border="1">
          <tbody>
            <tr>
              <td>
                <p align="center">
                  <font size="2">
                    <u>Customer</u>
                  </font>
                </p>
              </td>
              <td>
                <p align="center">
                  <font size="2">
                    <u>Day</u>
                  </font>
                </p>
              </td>
              <td>
                <p align="center">
                  <font size="2">
                    <u>Shop</u>
                  </font>
                </p>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">B</font>
              </td>
              <td>
                <font size="2">15/2/2002</font>
              </td>
              <td>
                <font color="#0000ff" size="2">
                  <u>AdventureWorks</u>
                </font>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">A</font>
              </td>
              <td>
                <font size="2">1/1/2000</font>
              </td>
              <td>
                <font color="#0000ff" size="2">
                  <u>EBay</u>
                </font>
              </td>
            </tr>
            <tr>
              <td>
                <font size="2">C</font>
              </td>
              <td>
                <font size="2">28/5/2005</font>
              </td>
              <td>
                <font color="#0000ff" size="2">
                  <u>Office Depot</u>
                </font>
              </td>
            </tr>
          </tbody>
        </table>
        <br />
I would expect that clicking on the EBay link will make the same thing as before,
but actually it prompts the Shop page on Customer B and 15/2/2002. It seems that the
report saves the original location of the record instead of prompting on the actual
record! In order to solve that I written a small JS code that enables us to navigate
based on previous fields in the report (See the attached file). In order to use it
we need to change the link. Edit the column properties, go to the Data Format tab,
check "Override Default Data Format", Pick Treat Text As Custom Text Format and in
the editbox enter the new link. A link example can be found in the attached file.
Note that the third parameter for every field is how much fields to go back.<br />
The great thing about this solution is that it doesn't only solves this particular
issue. It enables you to prompt on every logical column, no matter on which column
the original value was shown.<br /><a href="http://www.miky-schreiber.com/Blog/content/binary/BIPortalPageNav.js">BIPortalPageNav.js
(1.04 KB)</a><img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=4e7887c4-c61c-4f52-8ab5-5d4417bbb714" /></body>
      <title>Advanced Navigation in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,4e7887c4-c61c-4f52-8ab5-5d4417bbb714.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,4e7887c4-c61c-4f52-8ab5-5d4417bbb714.aspx</link>
      <pubDate>Sun, 25 Apr 2010 17:53:13 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&lt;a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx"&gt;Do
you know how to add JS code to your OBIEE site?&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
It all started with a bug in OBIEE (version 10.1.3.4) and ended with a wonderful solution
that can help us in future problems. Look at the following report table:
&lt;/p&gt;
&lt;table border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;font size=2&gt;&lt;u&gt;Customer&lt;/u&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;font size=2&gt;&lt;u&gt;Day&lt;/u&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;font size=2&gt;&lt;u&gt;Shop&lt;/u&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;font size=2&gt;A&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;1/1/2000&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#0000ff size=2&gt;&lt;u&gt;EBay&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;font size=2&gt;B&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;15/2/2002&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#0000ff size=2&gt;&lt;u&gt;AdventureWorks&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;font size=2&gt;C&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;28/5/2005&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#0000ff size=2&gt;&lt;u&gt;Office Depot&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
Building the Business Model layer and the report correctly will take care that clicking
on the EBay link will take us to the Ebay shop page (in OBIEE, not ebay.com) which
is prompted on 1/1/2000 and customer A. This happens because the Shop report is also
prompted on Customer and Day. The problem starts when we sort the table by the shop
name:
&lt;/p&gt;
&lt;table border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;font size=2&gt;&lt;u&gt;Customer&lt;/u&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;font size=2&gt;&lt;u&gt;Day&lt;/u&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align=center&gt;
&lt;font size=2&gt;&lt;u&gt;Shop&lt;/u&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;font size=2&gt;B&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;15/2/2002&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#0000ff size=2&gt;&lt;u&gt;AdventureWorks&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;font size=2&gt;A&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;1/1/2000&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#0000ff size=2&gt;&lt;u&gt;EBay&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;font size=2&gt;C&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font size=2&gt;28/5/2005&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;
&lt;font color=#0000ff size=2&gt;&lt;u&gt;Office Depot&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
I would expect that clicking on the EBay link will make the same thing as before,
but actually it prompts the Shop page on Customer B and 15/2/2002. It seems that the
report saves the original location of the record instead of prompting on the actual
record! In order to solve that I written a small JS code that enables us to navigate
based on previous fields in the report (See the attached file). In order to use it
we need to change the link. Edit the column properties, go to the Data Format tab,
check "Override Default Data Format", Pick Treat Text As Custom Text Format and in
the editbox enter the new link. A link example can be found in the attached file.
Note that the third parameter for every field is how much fields to go back.&lt;br&gt;
The great thing about this solution is that it doesn't only solves this particular
issue. It enables you to prompt on every logical column, no matter on which column
the original value was shown.&lt;br /&gt;
&lt;a href="http://www.miky-schreiber.com/Blog/content/binary/BIPortalPageNav.js"&gt;BIPortalPageNav.js
(1.04 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=4e7887c4-c61c-4f52-8ab5-5d4417bbb714" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,4e7887c4-c61c-4f52-8ab5-5d4417bbb714.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=625062ab-25fa-4d20-bf2d-9a1a2bc5a56e</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,625062ab-25fa-4d20-bf2d-9a1a2bc5a56e.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,625062ab-25fa-4d20-bf2d-9a1a2bc5a56e.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=625062ab-25fa-4d20-bf2d-9a1a2bc5a56e</wfw:commentRss>
      <slash:comments>12</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>
            <u>Note:</u> all my <a href="http://www.miky-schreiber.com/Blog/CategoryView,category,BI%2cOracle%2cOBIEE.aspx">OBIEE
posts</a> are based one upon the other. If you want to implement this, please read
and do everything I mentioned in my <a href="http://www.miky-schreiber.com/Blog/CategoryView,category,BI%2cOracle%2cOBIEE.aspx">previous
posts</a>.</em>
        </p>
        <p>
I think that this is the most impressive development that we did over OBIEE. OBIEE
is very lack in paging abilities. You can navigate only forward and backwards in the
report. Here is how our google-like paging looks like: 
</p>
        <center>
          <img src="http://www.miky-schreiber.com/Blog/content/binary/paging.GIF" border="0" />
        </center>
        <br />
In order to implement this in your environment, you should be familiar with <a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx">how
to add javascript into OBIEE </a>. Just call the addPageNumbers() function in every
page you'd like. Note that this is heavily based on the current OBIEE's DOM (version
10.1.3.4). In addition, this will only work for one report per dashboard page (this
was the original requirement in our dashboard site). 
<br />
The JS is attached below. Enjoy. 
<p><a href="http://www.miky-schreiber.com/Blog/content/binary/addPageNumbers.js">addPageNumbers.js
(6.44 KB)</a></p><img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=625062ab-25fa-4d20-bf2d-9a1a2bc5a56e" /></body>
      <title>Paging in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,625062ab-25fa-4d20-bf2d-9a1a2bc5a56e.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,625062ab-25fa-4d20-bf2d-9a1a2bc5a56e.aspx</link>
      <pubDate>Mon, 15 Mar 2010 08:21:16 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&lt;u&gt;Note:&lt;/u&gt; all my &lt;a href="http://www.miky-schreiber.com/Blog/CategoryView,category,BI%2cOracle%2cOBIEE.aspx"&gt;OBIEE
posts&lt;/a&gt; are based one upon the other. If you want to implement this, please read
and do everything I mentioned in my &lt;a href="http://www.miky-schreiber.com/Blog/CategoryView,category,BI%2cOracle%2cOBIEE.aspx"&gt;previous
posts&lt;/a&gt;.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
I think that this is the most impressive development that we did over OBIEE. OBIEE
is very lack in paging abilities. You can navigate only forward and backwards in the
report. Here is how our google-like paging looks like: 
&lt;/p&gt;
&lt;center&gt;&lt;img src="http://www.miky-schreiber.com/Blog/content/binary/paging.GIF" border=0&gt;
&lt;/center&gt;
&lt;br&gt;
In order to implement this in your environment, you should be familiar with &lt;a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx"&gt;how
to add javascript into OBIEE &lt;/a&gt;. Just call the addPageNumbers() function in every
page you'd like. Note that this is heavily based on the current OBIEE's DOM (version
10.1.3.4). In addition, this will only work for one report per dashboard page (this
was the original requirement in our dashboard site). 
&lt;br&gt;
The JS is attached below. Enjoy. 
&lt;p&gt;
&lt;a href="http://www.miky-schreiber.com/Blog/content/binary/addPageNumbers.js"&gt;addPageNumbers.js
(6.44 KB)&lt;/a&gt; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=625062ab-25fa-4d20-bf2d-9a1a2bc5a56e" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,625062ab-25fa-4d20-bf2d-9a1a2bc5a56e.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=8e03be39-f1c3-4ee1-9ef4-199e427ac9ea</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,8e03be39-f1c3-4ee1-9ef4-199e427ac9ea.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,8e03be39-f1c3-4ee1-9ef4-199e427ac9ea.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=8e03be39-f1c3-4ee1-9ef4-199e427ac9ea</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Our users had a weird requirement: They wanted to search all the columns in one action.
We thought how to do it. In this post I'll describe the solution. Note that this solution
is not good in terms of performance, but this is the best we've got.
</p>
        <ol>
          <li>
In every report (/answer/request) you develop, add a column and call it SearchColumn.
Define its formula as the concatenation of all the columns in the report. You also
need to cast the numeric columns to char in order to concatenate them. For example:
FirstColumn || cast(NumericColumn as char) || LastColumn. To make things easier, I
written a little C# program that takes the request XML and outputs this column's formula.
It's a very simple program so I won't put it here (unless someone will ask for it).
You can write this simple program in every language you know. 
</li>
          <li>
Hide the column (Column Properties -&gt; Column Format -&gt; Hide). 
</li>
          <li>
Create a filter based on this column. In the operator drop-down-list, choose "contains
any". Then, click on Add -&gt; Variable -&gt; Presentation. Enter Term in the "Variable
Expr" box (Term will be our variable name) and enter space in the (default) box. 
</li>
          <li>
Now, we'll let the user to enter the search term. Create a new Dashboard Prompt based
on any column you'll like. In the operator, choose "is equal to / is in". Control
- "Edit Box". Show Default To - "Variable Expression" and enter Term. Set Variable
- "Presentation Variable" and enter Term here too. Label - "Search", for example. 
</li>
          <li>
All you have to do is to add the prompt in every page you want to let the user search.</li>
        </ol>
        <p>
Note that the search term will stay until the user will clear the prompt field. As
I said, this solution is problematic for number of reason (performance, "why the other
page filters too?" and maintenance).
</p>
        <img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=8e03be39-f1c3-4ee1-9ef4-199e427ac9ea" />
      </body>
      <title>One-shot Search in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,8e03be39-f1c3-4ee1-9ef4-199e427ac9ea.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,8e03be39-f1c3-4ee1-9ef4-199e427ac9ea.aspx</link>
      <pubDate>Thu, 04 Mar 2010 13:29:14 GMT</pubDate>
      <description>&lt;p&gt;
Our users had a weird requirement: They wanted to search all the columns in one action.
We thought how to do it. In this post I'll describe the solution. Note that this solution
is not good in terms of performance, but this is the best we've got.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
In every report (/answer/request) you develop, add a column and call it SearchColumn.
Define its formula as the concatenation of all the columns in the report. You also
need to cast the numeric columns to char in order to concatenate them. For example:
FirstColumn || cast(NumericColumn as char) || LastColumn. To make things easier, I
written a little C# program that takes the request XML and outputs this column's formula.
It's a very simple program so I won't put it here (unless someone will ask for it).
You can write this simple program in every language you know. 
&lt;li&gt;
Hide the column (Column Properties -&amp;gt; Column Format -&amp;gt; Hide). 
&lt;li&gt;
Create a filter based on this column. In the operator drop-down-list, choose "contains
any". Then, click on Add -&amp;gt; Variable -&amp;gt; Presentation. Enter Term in the "Variable
Expr" box (Term will be our variable name) and enter space in the (default) box. 
&lt;li&gt;
Now, we'll let the user to enter the search term. Create a new Dashboard Prompt based
on any column you'll like. In the operator, choose "is equal to / is in". Control
- "Edit Box". Show Default To - "Variable Expression" and&amp;nbsp;enter Term. Set Variable
- "Presentation Variable" and enter Term here too. Label - "Search", for example. 
&lt;li&gt;
All you have to do is to add the prompt in every page you want to let the user search.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Note that the search term will stay until the user will clear the prompt field. As
I said, this solution is problematic for number of reason (performance, "why the other
page filters too?" and maintenance).
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=8e03be39-f1c3-4ee1-9ef4-199e427ac9ea" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,8e03be39-f1c3-4ee1-9ef4-199e427ac9ea.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=1d6c00fb-00f7-4a78-b5af-544fb9fb8c17</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,1d6c00fb-00f7-4a78-b5af-544fb9fb8c17.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,1d6c00fb-00f7-4a78-b5af-544fb9fb8c17.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1d6c00fb-00f7-4a78-b5af-544fb9fb8c17</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This is quite simple, so I'll let the JavaScript talk by itself (attached). I assume
that you know how to <a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx">add
your JS to OBIEE</a>. You need to call the function hideTabs from every dashboard
page and edit the hiddenTabs array.
</p>
        <p>
This was written on version 10.1.3.4 of OBIEE. Note that if the DOM will be changed
in a future version it won't work.
</p>
        <a href="http://www.miky-schreiber.com/Blog/content/binary/hideDashboardPages.txt">hideDashboardPages.txt
(2.03 KB)</a>
        <img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=1d6c00fb-00f7-4a78-b5af-544fb9fb8c17" />
      </body>
      <title>Hiding Dashboard Pages in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,1d6c00fb-00f7-4a78-b5af-544fb9fb8c17.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,1d6c00fb-00f7-4a78-b5af-544fb9fb8c17.aspx</link>
      <pubDate>Wed, 03 Mar 2010 18:51:32 GMT</pubDate>
      <description>&lt;p&gt;
This is quite simple, so I'll let the JavaScript talk by itself (attached). I assume
that you know how to &lt;a href="http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx"&gt;add
your JS to OBIEE&lt;/a&gt;. You need to call the function hideTabs from every dashboard
page and edit the hiddenTabs array.
&lt;/p&gt;
&lt;p&gt;
This was written on version 10.1.3.4 of OBIEE. Note that if the DOM will be changed
in a future version it won't work.
&lt;/p&gt;
&lt;a href="http://www.miky-schreiber.com/Blog/content/binary/hideDashboardPages.txt"&gt;hideDashboardPages.txt
(2.03 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=1d6c00fb-00f7-4a78-b5af-544fb9fb8c17" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,1d6c00fb-00f7-4a78-b5af-544fb9fb8c17.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=dd64d937-e0d6-4bf5-8c44-63213719282f</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=dd64d937-e0d6-4bf5-8c44-63213719282f</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">This is a basic post which I'll assume
you know in the posts to come. 
<br />
Basically, There are two ways of adding JS into the OBIEE dashboard: 
<p><u>If the script is for one page only</u> - Enter the dashboard editor and edit
your page. Add a new Text object from the bar on the left. It doesn't matter where
you add it in the page. Click on its Properties button and write your script in the
text box. Don't forget to start it with &lt;script&gt; and end it with &lt;/script&gt;.
Check the "Contains HTML Markup" box. There is no need to hide this object because
it doesn't contain anything visual. Rename the text object and give it a <em>descriptive
name</em>.
</p><p><u>If the script is common to more than one page or <em><strong>may be</strong> <strong>in
the future</strong></em></u> - Create a new request which contains only one column.
It can be any column from any table, but I recommend you to use a column which doesn't
have many rows (you can use a small dimension if you have one). Click on the Results
tab and enter the Narrative view. Write your script in the Narrative text box. Like
before, don't forget to start it with &lt;script&gt; and end it with &lt;/script&gt;.
Check the "Contains HTML Markup" box and enter zero in the "Rows to display" text
box. You can save your request now. Every dashboard page that contains this request
will run the JS you just written.
</p><p><u>How to develop <strong><em>correctly</em></strong> with JS in OBIEE</u><br />
Don't enter bunch of code in the request. It'll only get you messy once the length
of the code will grow. Your code inside the dashboard should only call functions.
For example, it can look like this:<br />
&lt;script&gt;<br />
if (myFunction)<br />
{<br />
  myFunction();<br />
}<br />
if (mySecondFunction)<br />
{<br />
  mySecondFunction();<br />
}<br />
&lt;/script&gt;
</p><p>
You will write and maintain these functions in external JS file. Take the common.js
file (search it under the OBIEE dir <strong><em>in the server</em></strong>) which
is called in every page in OBIEE dashboards <em>(<strong>don't forget to backup first!!</strong>)</em> and
add your code in the bottom of the file. Now you have a convenient place where
you can edit your JS code. There is one last thing you need to know before proceeding
- the browser caches the JS files so you'll need to clear the browser's cache every
time you change your code. In Internet Explorer, you can do it in Tools -&gt;
Internet Options -&gt; Delete Files -&gt; Delete all offline content. You'll do it a
lot while developing, so having a button that does that will be great. You can use
Microsoft's <a href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;displaylang=en">IE
developer toolbar</a> or another developer toolbar.
</p><p>
Now we can apply new features to OBIEE.
</p><img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=dd64d937-e0d6-4bf5-8c44-63213719282f" /></body>
      <title>How to add JavaScript in OBIEE Dashboards</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx</link>
      <pubDate>Tue, 19 Jan 2010 14:46:07 GMT</pubDate>
      <description>This is a basic post which I'll assume you know in the posts to come. &lt;br&gt;
Basically, There are two ways of adding JS into the OBIEE dashboard: 
&lt;p&gt;
&lt;u&gt;If the script is for one page only&lt;/u&gt;&amp;nbsp;- Enter the dashboard editor and edit
your page. Add a new Text object from the bar on the left. It doesn't matter where
you add it in the page. Click on its Properties button and write your script in the
text box. Don't forget to start it with &amp;lt;script&amp;gt; and end it with &amp;lt;/script&amp;gt;.
Check the "Contains HTML Markup" box. There is no need to hide this object because
it doesn't contain anything visual. Rename the text object and give it a &lt;em&gt;descriptive
name&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;If the script is common to more than one page or&amp;nbsp;&lt;em&gt;&lt;strong&gt;may be&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;in
the future&lt;/strong&gt;&lt;/em&gt;&lt;/u&gt; - Create a new request which contains only one column.
It can be any column from any table, but I recommend you to use a column which doesn't
have many rows (you can use a small dimension if you have one). Click on the Results
tab and enter the Narrative view. Write your script in the Narrative text box. Like
before, don't forget to start it with &amp;lt;script&amp;gt; and end it with &amp;lt;/script&amp;gt;.
Check the "Contains HTML Markup" box and enter zero in the "Rows to display" text
box. You can save your request now. Every dashboard page that contains this request
will run the JS you just written.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;How to&amp;nbsp;develop &lt;strong&gt;&lt;em&gt;correctly&lt;/em&gt;&lt;/strong&gt; with JS in OBIEE&lt;/u&gt;
&lt;br&gt;
Don't enter bunch of code in the request. It'll only get you messy once the length
of the code will grow.&amp;nbsp;Your code inside the dashboard should only call functions.
For example, it can look like this:&lt;br&gt;
&amp;lt;script&amp;gt;&lt;br&gt;
if (myFunction)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;myFunction();&lt;br&gt;
}&lt;br&gt;
if (mySecondFunction)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;mySecondFunction();&lt;br&gt;
}&lt;br&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;p&gt;
You will write and maintain these functions in external JS file. Take the common.js
file (search it under the OBIEE dir &lt;strong&gt;&lt;em&gt;in the server&lt;/em&gt;&lt;/strong&gt;)&amp;nbsp;which
is called in every page in OBIEE dashboards &lt;em&gt;(&lt;strong&gt;don't forget to backup first!!&lt;/strong&gt;)&lt;/em&gt; and
add your&amp;nbsp;code in the bottom of the file. Now you have a convenient place where
you can edit your JS code. There is one last thing you need to know before proceeding
- the browser caches the JS files so you'll need to clear the browser's cache every
time you&amp;nbsp;change your code. In Internet Explorer, you can do it in Tools -&amp;gt;
Internet Options -&amp;gt; Delete Files -&amp;gt; Delete all offline content. You'll do it&amp;nbsp;a
lot while developing, so having a button that does that will be great. You can use
Microsoft's &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;amp;displaylang=en"&gt;IE
developer toolbar&lt;/a&gt;&amp;nbsp;or another developer toolbar.
&lt;/p&gt;
&lt;p&gt;
Now we can&amp;nbsp;apply&amp;nbsp;new features to&amp;nbsp;OBIEE.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=dd64d937-e0d6-4bf5-8c44-63213719282f" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,dd64d937-e0d6-4bf5-8c44-63213719282f.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=266091f0-2c95-4d68-9b01-e30d5a305bf0</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,266091f0-2c95-4d68-9b01-e30d5a305bf0.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,266091f0-2c95-4d68-9b01-e30d5a305bf0.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=266091f0-2c95-4d68-9b01-e30d5a305bf0</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">While developing reports in OBIEE, I found
myself making the same action over and over again: Styling a column, clicking on "Copy
Cell Format", going through all other columns and pasting the format. A better way
to do this kind of actions in one shot is by changing the Request XML. Let's say you
applied style to the first column and you want to copy it to the other columns. This
is how you'll do this: 
<ol><li>
In the report editor, click on the Advanced tab. 
</li><li>
Copy the Request XML. 
</li><li>
You'll need to edit the xml in a text editor which supports macros. My favorite is <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a>.
Paste the xml in the text editor. 
</li><li>
Now you'll have to learn by yourself how the XML is built. Don't worry, it's very
simple. Note that each column is a xml element called saw:column and the style is
stored in its child element called saw:displayFormat. 
</li><li>
Start recording the macro and copy the desired elements to the next column. After
that, stop the recording. Pay attention to where the keyboard cursor is before and
after the recording. 
</li><li>
Place the keyboard cursor in the desired place and run the macro several times as
much as the columns you need to update. The shortcut to do it in Notepad++ is Ctrl+Shift+P.</li><li>
Paste the xml back in the report: Go back to the page where you copied the xml
from, paste the new xml and click on "Set XML". That's it.</li></ol>
Learning the schema of the Request XML, you can do many other customizations
to your report in one click. You'll see another example in my future post about searching
all columns in one click. Thinking about this approach, you may find that it can help
you to make your work shorter and cleaner.<img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=266091f0-2c95-4d68-9b01-e30d5a305bf0" /></body>
      <title>Quick Copy of Column Properties in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,266091f0-2c95-4d68-9b01-e30d5a305bf0.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,266091f0-2c95-4d68-9b01-e30d5a305bf0.aspx</link>
      <pubDate>Wed, 06 Jan 2010 09:33:30 GMT</pubDate>
      <description>While developing reports in OBIEE, I found myself making the same action over and over again: Styling a column, clicking on "Copy Cell Format", going through all other columns and pasting the format. A better&amp;nbsp;way to do this kind of actions in one shot is by changing the Request XML. Let's say you applied style to the first column and you want to copy it to the other columns. This is how you'll do this: 
&lt;ol&gt;
&lt;li&gt;
In the report editor, click on the Advanced tab. 
&lt;li&gt;
Copy the Request XML. 
&lt;li&gt;
You'll need to edit the xml in a text editor which supports macros. My favorite is &lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;Notepad++&lt;/a&gt;.
Paste the xml in the text editor. 
&lt;li&gt;
Now you'll have to learn by yourself how the XML is built. Don't worry, it's very
simple. Note that each column is a xml element called saw:column and the style is
stored&amp;nbsp;in its child element called saw:displayFormat. 
&lt;li&gt;
Start recording the macro and copy the desired elements to the next column. After
that, stop the recording. Pay attention to where the keyboard cursor is before and
after the recording. 
&lt;li&gt;
Place the keyboard cursor in the desired place and run the macro several times as
much as the columns you need to update. The shortcut to do it in Notepad++ is Ctrl+Shift+P.&lt;/li&gt;
&lt;li&gt;
Paste the xml back in the report: Go back to the&amp;nbsp;page where you copied the xml
from, paste the new xml and click on "Set XML". That's it.&lt;/li&gt;
&lt;/ol&gt;
Learning the&amp;nbsp;schema of the&amp;nbsp;Request XML, you can do many other customizations
to your report in one click. You'll see another example in my future post about searching
all columns in one click. Thinking about this approach, you may find that it can help
you to make your work shorter and cleaner.&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=266091f0-2c95-4d68-9b01-e30d5a305bf0" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,266091f0-2c95-4d68-9b01-e30d5a305bf0.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=e964552b-eb6e-449b-b2c6-42adea2376cd</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,e964552b-eb6e-449b-b2c6-42adea2376cd.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,e964552b-eb6e-449b-b2c6-42adea2376cd.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e964552b-eb6e-449b-b2c6-42adea2376cd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the (many) missing features in OBIEE is record/row count. In this post I'll
show how to implement record count and show it below the table, or report in the OBIEE
dashboard. I know that you can find this in other blogs and forums, but I intend to
show more sophisticated methods in my next posts <em>that will be heavily based on
this</em>, so I recommend you to read it first.
</p>
        <ol>
          <li>
            <u>Create the record count column in your report</u>: click on any column in the sidebar
to add a new column in your report. Edit its formula using the fx button. In the formula
text area, enter Max(RCount(XXX || YYY)), where XXX and YYY are two fields which define
the key, or lowest granuality of the report. In other words: The combination of XXX
and YYY will not show more than once in the report. You can add more columns if you
need (column adding is made using the Column button in the "Edit Column Formula" window).
If the type of the column is not char, wrap the column with cast(XXX as char). 
</li>
          <li>
            <u>Check yourself</u>: Preview the report. The last column should contain the record
count. The value is the same in every row. If it's not working, go back and fix the
formula. 
</li>
          <li>
            <u>Hide the formula</u>: Click the "Column Properties" button in the column (the button
with the hand), go to the "Column Format" tab and check the Hide checkbox. Now, check
and remember the location of the column in the report. In other words, remember
if it's the fifth column or the tenth column, for example. 
</li>
          <li>
            <u>Create the narrative:</u> Click the Results tab and in the drop-down list choose
Narrative. In the prefix, enter: "Row Count:" or something like that, and in the narrative
itself, enter: &lt;div id="RecordCount"&gt;@XX&lt;/div&gt;, where XX is the location
of the new column we created. In rows to display, enter 1. Return to the compound
layout and look how the narrative below the table looks like. You can return
to the narrative and change its style if you don't like it. Just leave the RecordCount
div as it is. <em>We'll use it a lot in the upcoming posts</em>.</li>
        </ol>
        <p>
          <u>Problems with this implementation:</u>
          <br />
        </p>
        <ol>
          <li>
The count is made in the BI Server after all records are coming from the database.
If you'll check query time with and without the record count, you'll see
a big difference.</li>
          <li>
The record count is getting scrambled if the user sorts the table.</li>
        </ol>
        <p>
I'll post here any updates, if there will be any, about these problems.
</p>
        <img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=e964552b-eb6e-449b-b2c6-42adea2376cd" />
      </body>
      <title>Record count in OBIEE</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,e964552b-eb6e-449b-b2c6-42adea2376cd.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,e964552b-eb6e-449b-b2c6-42adea2376cd.aspx</link>
      <pubDate>Mon, 04 Jan 2010 10:07:41 GMT</pubDate>
      <description>&lt;p&gt;
One of the (many) missing features in OBIEE is record/row count. In this post I'll
show how to implement record count and show it below the table, or report in the OBIEE
dashboard. I know that you can find this in other blogs and forums, but I intend to
show more sophisticated methods in my next posts &lt;em&gt;that will be heavily based on
this&lt;/em&gt;, so I recommend you to read it first.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;u&gt;Create the record count column in your report&lt;/u&gt;: click on any column in the sidebar
to add a new column in your report. Edit its formula using the fx button. In the formula
text area, enter Max(RCount(XXX || YYY)), where XXX and YYY are two fields which define
the key, or lowest granuality of the report. In other words: The combination of XXX
and YYY will not show more than once in the report. You can add more columns if you
need (column adding is made using the Column button in the "Edit Column Formula" window).
If the type of the column is not char, wrap the column with cast(XXX as char). 
&lt;li&gt;
&lt;u&gt;Check yourself&lt;/u&gt;: Preview the report. The last column should contain the record
count. The value is the same in every row. If it's not working, go back and fix the
formula. 
&lt;li&gt;
&lt;u&gt;Hide the formula&lt;/u&gt;: Click the "Column Properties" button in the column (the button
with the hand), go to the "Column Format" tab and check the Hide checkbox. Now, check
and remember&amp;nbsp;the location of the column in the report. In other words, remember
if it's the fifth column or&amp;nbsp;the tenth column, for example. 
&lt;li&gt;
&lt;u&gt;Create the narrative:&lt;/u&gt; Click the Results tab and in the drop-down list choose
Narrative. In the prefix, enter: "Row Count:" or something like that, and in the narrative
itself, enter: &amp;lt;div id="RecordCount"&amp;gt;@XX&amp;lt;/div&amp;gt;, where XX is the location
of the new column we created. In rows to display, enter 1. Return to the compound
layout and look how the narrative below the&amp;nbsp;table looks like. You can return
to the narrative and change its style if you don't like it. Just leave the RecordCount
div as it is. &lt;em&gt;We'll use it a lot in the upcoming posts&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;u&gt;Problems with this implementation:&lt;/u&gt;
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
The count is made in the BI Server after all records are coming from the database.
If you'll check&amp;nbsp;query time&amp;nbsp;with and without the record count, you'll see
a big difference.&lt;/li&gt;
&lt;li&gt;
The record count is getting scrambled if the user sorts the table.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
I'll post here any updates, if there&amp;nbsp;will be any,&amp;nbsp;about these problems.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=e964552b-eb6e-449b-b2c6-42adea2376cd" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,e964552b-eb6e-449b-b2c6-42adea2376cd.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=01f28f1d-5798-4155-8ba8-83e1d158a4ed</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,01f28f1d-5798-4155-8ba8-83e1d158a4ed.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,01f28f1d-5798-4155-8ba8-83e1d158a4ed.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=01f28f1d-5798-4155-8ba8-83e1d158a4ed</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's been a while since I last posted here. It's because it was the end of the year
with annoying deadline and a new reporting tool we needed to learn - OBIEE. We learned
a lot about it and even extended it, so the next posts will be about that. I'll start
with a collection of tips &amp; tricks we collected over the development process. Some
tips will be helpful only to newbies, where the others will be also relevant to experienced
developers. I divided it to two sections: The administration program and
the webby part. Have fun.
</p>
        <p>
          <u>The Administration program</u>
        </p>
        <ul>
          <li>
There is no way to auto arrange to ERDs of the physical and the Business model (aka
logical) layers. The best approach to make things more simple is to finish the tables
import in the physical layer and arrange it by yourself: choose to show all tables,
zoom to 50% and move the tables so it will create a nice and clear star schema. after
that, just print it out and sent it to your co-developers. 
</li>
          <li>
Naming standards are, as always, very helpful, especially when working as a team.
A foreign-key column (non measure) name should end the same for all columns
in the project. Measure field name should end with _sum, _count, etc. 
</li>
          <li>
In order to develop in the administration program, the developer should be defined
as administrator... 
</li>
          <li>
The "check out objects" dialog box will get annoying after few hours of development.
To get rid of it, go to Tools -&gt; Options -&gt; General, and select "check out objects
automatically". Pay attention to what you do from now on, because even viewing
a table's properties will check it out. 
</li>
          <li>
You can always convert a table to a view in the physical layer. Right click on it,
properties, and choose "Select" in the table type. Then, write the SQL query. 
</li>
          <li>
When working online against the repository and making an action against the DB (such
as row count or view data), the connection to the DB is made using the BI server's
data source. Only when working in offline mode the DB connection is made using the
local ODBC. 
</li>
          <li>
When dragging a physical table into the logical layer it won't save the tables relationships.
Only when dragging a number of tables into the logical layer the relationships will
also be imported. 
</li>
          <li>
Circular relationships between the tables are not permitted in the logical layer
but permitted in the physical layer. 
</li>
          <li>
Always use complex join in the logical layer. The BI Server supposes to understand
in which physical relationship to use. Change it only when it doesn't. 
</li>
          <li>
When defining one-to-many join in the ERD you drag the line from the single to the
many table. 
</li>
          <li>
In a dimension with a hierarchy (not flat one), the lowest level should contain the
table's key column. Every column which won't be associated to a level will be automatically
associated to the lowest level. 
</li>
          <li>
In 90% of the cases, all the measures will have sum as aggregation rule. You can define
it in a single shot by selecting all the measure columns, right click on them and
choose "Set aggregation". 
</li>
          <li>
The best practice is to build a dimension over any dimension-table, even if it's a
flat hierarchy. Also, you should connect each fact table to its levels in the dimensions.
You enter into the fact's source's properties and in the content tab you select the
logical level for every dimension which is connected to the fact table. 
</li>
          <li>
You can quickly build a dimension by right-clicking the dimension-table and choose
"Create dimension". It won't always be good enough, but it's not so bad.</li>
        </ul>
        <p>
          <u>The Webby part (Answers &amp; Dashboard)</u>
        </p>
        <ul>
          <li>
The error "Incorrectly defined logical table source (for fact table XXX) does not
contain mapping for YYY" means that the BI Server cannot reach from table XXX to table
YYY. It can happen because of two reasons: The first one is that there are no relationships
defined in the logical or the physical layers (or maybe both). Note that the connections
can be indirect. The second one is that the relationships doesn't makes sense.
For example, going from a fact table to a dimension table through many-to-many table
cannot happen. You'll see this error many times as a beginner and it can be quite
frustrating at first. You need to understand that the BI Server can only understand
simple and classic star schemas. More complex ERDs need to be split by using alias
tables. 
</li>
          <li>
While developing a complex report (answer, request, you name it) with many columns,
save it from time to time. Don't forget that you're working with a webby application.
Closing the window won't save your work and won't alert you if you didn't. 
</li>
          <li>
After styling a column in the report, you can copy the style to other columns. In
the styling window there's a "copy format" button. You can click on paste in the other
columns' style windows. 
</li>
          <li>
In order to make a customized report, you can use the Narrative view. To insert a
column's value, use @ and the column's location. For example, @2 is the placeholder
for the second column. You can also apply javascript in the narrative to make dynamic
columns and effects. 
</li>
          <li>
When you add a column in a fact-based report, bring it from the dimension table and
not from the fact table. This will help you when you'll make navigation from
this report to the dimension-based report. 
</li>
          <li>
The last button (<img src="http://www.miky-schreiber.com/Blog/content/binary/siebel_tapedeck_all.GIF" border="0" />)
in the navigation toolbar won't go to the last page as expected but will bring all
the rows. In a case of a big table, this operation will take a long time and will
make the browser freeze. 
</li>
          <li>
After a change in the RPD you need to update the answers site: Click on "Reload Server
Metadata" below to side bar. Then, Settings -&gt; Administrator -&gt; Manage Sessions
-&gt; Close all cursors.</li>
        </ul>
        <p>
This is definitely not the last post about OBIEE. The next posts will be much
more interesting and helpful. I promise!
</p>
        <img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=01f28f1d-5798-4155-8ba8-83e1d158a4ed" />
      </body>
      <title>OBIEE tips &amp; tricks</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,01f28f1d-5798-4155-8ba8-83e1d158a4ed.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,01f28f1d-5798-4155-8ba8-83e1d158a4ed.aspx</link>
      <pubDate>Sun, 03 Jan 2010 13:54:45 GMT</pubDate>
      <description>&lt;p&gt;
It's been a while since I last posted here. It's because it was the end of the year
with annoying deadline and a new reporting tool we needed to learn - OBIEE. We learned
a lot about it and even extended it, so the next posts will be about that. I'll start
with a collection of tips &amp;amp; tricks we collected over the development process.&amp;nbsp;Some
tips will be helpful only to newbies, where the others will be also relevant&amp;nbsp;to&amp;nbsp;experienced
developers.&amp;nbsp;I divided it to&amp;nbsp;two sections: The administration program and
the webby part. Have fun.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;The Administration program&lt;/u&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
There is no way to auto arrange to ERDs of the physical and the Business model (aka
logical) layers. The best approach to make things more simple is to finish the tables
import in the physical layer and&amp;nbsp;arrange it by yourself: choose to show all tables,
zoom to 50% and move the tables so it will create a nice and clear star schema. after
that, just print it out and sent it to your co-developers. 
&lt;li&gt;
Naming standards are, as always, very helpful, especially when working as a team.
A foreign-key&amp;nbsp;column (non measure)&amp;nbsp;name should end the same for all columns
in the project. Measure field name should end with _sum, _count, etc. 
&lt;li&gt;
In order to develop in the administration program, the&amp;nbsp;developer should be defined
as administrator... 
&lt;li&gt;
The "check out objects" dialog box will get annoying after few hours of development.
To get rid of it, go to Tools -&amp;gt; Options -&amp;gt; General, and select "check out objects
automatically". Pay attention to what you do from now on, because even&amp;nbsp;viewing
a table's properties will check it out. 
&lt;li&gt;
You can always convert a table to a view in the physical layer. Right click on it,
properties, and choose "Select" in the table type. Then, write the SQL query. 
&lt;li&gt;
When working online against the repository and making an action against the DB (such
as row count or view data), the connection to the DB is made using the BI server's
data source. Only when working in offline mode the DB connection is made using the
local ODBC. 
&lt;li&gt;
When dragging a physical table into the logical layer it won't save the tables relationships.
Only when dragging a number of tables into the logical layer the relationships will
also be imported. 
&lt;li&gt;
Circular relationships between the tables&amp;nbsp;are not permitted in the logical layer
but permitted in the physical layer. 
&lt;li&gt;
Always use complex join in the logical layer. The BI Server supposes to understand
in which physical relationship to use. Change it only when it doesn't. 
&lt;li&gt;
When defining one-to-many join in the ERD you drag the line from the single to the
many table. 
&lt;li&gt;
In a dimension with a hierarchy (not flat one), the lowest level should contain the
table's key column. Every column which won't be associated to a level will be automatically
associated to the lowest level. 
&lt;li&gt;
In 90% of the cases, all the measures will have sum as aggregation rule. You can define
it in a single shot by selecting all the measure columns, right click on them and
choose "Set aggregation". 
&lt;li&gt;
The best practice is to build a dimension over any dimension-table, even if it's a
flat hierarchy. Also, you should connect each fact table to its levels in the dimensions.
You enter into the fact's source's properties and in the content tab you select the
logical level for every dimension which is connected to the fact table. 
&lt;li&gt;
You can quickly build a dimension by right-clicking the dimension-table and choose
"Create dimension". It won't always be good enough, but it's not so bad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;u&gt;The Webby part (Answers &amp;amp; Dashboard)&lt;/u&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The error "Incorrectly defined logical table source (for fact table XXX) does not
contain mapping for YYY" means that the BI Server cannot reach from table XXX to table
YYY. It can happen because of two reasons: The first one is that there are no relationships
defined in the logical or the physical layers (or maybe both). Note that the&amp;nbsp;connections
can be indirect.&amp;nbsp;The second one is that the relationships doesn't makes sense.
For example, going from a fact table to a dimension table through many-to-many table
cannot happen. You'll see this error many times as a beginner and it can be quite
frustrating at first. You need to understand that the BI Server can only understand
simple and classic star schemas. More complex ERDs need to be split by using alias
tables. 
&lt;li&gt;
While developing a complex report (answer, request, you name it) with many columns,
save it from time to time. Don't forget that you're working with a webby application.
Closing the window won't save your work and won't alert you if you didn't. 
&lt;li&gt;
After styling a column in the report, you can copy the style to other columns. In
the styling window there's a "copy format" button. You can click on paste in the other
columns' style windows. 
&lt;li&gt;
In order to make a customized report, you can use the Narrative view. To insert a
column's value, use @ and the column's location. For example,&amp;nbsp;@2 is the placeholder
for the second column. You can also apply javascript in the narrative to make dynamic
columns and effects. 
&lt;li&gt;
When you add a column in a fact-based report, bring it from the dimension table and
not from the fact table. This will help you when you'll make navigation&amp;nbsp;from
this report to the dimension-based report. 
&lt;li&gt;
The last button (&lt;img src="http://www.miky-schreiber.com/Blog/content/binary/siebel_tapedeck_all.GIF" border=0&gt;)
in the navigation toolbar won't go to the last page as expected but will bring all
the rows. In a case of a big table, this operation will take a long time and will
make the browser freeze. 
&lt;li&gt;
After a change in the RPD you need to update the answers site: Click on "Reload Server
Metadata" below to side bar. Then, Settings -&amp;gt; Administrator -&amp;gt; Manage Sessions
-&amp;gt; Close all cursors.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
This is&amp;nbsp;definitely not the last post about OBIEE. The next posts will be much
more interesting and helpful. I promise!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=01f28f1d-5798-4155-8ba8-83e1d158a4ed" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,01f28f1d-5798-4155-8ba8-83e1d158a4ed.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
    <item>
      <trackback:ping>http://www.miky-schreiber.com/Blog/Trackback.aspx?guid=a0eb7d43-c389-43fc-90ba-59df85f0f526</trackback:ping>
      <pingback:server>http://www.miky-schreiber.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.miky-schreiber.com/Blog/PermaLink,guid,a0eb7d43-c389-43fc-90ba-59df85f0f526.aspx</pingback:target>
      <dc:creator>mikypuff</dc:creator>
      <wfw:comment>http://www.miky-schreiber.com/Blog/CommentView,guid,a0eb7d43-c389-43fc-90ba-59df85f0f526.aspx</wfw:comment>
      <wfw:commentRss>http://www.miky-schreiber.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a0eb7d43-c389-43fc-90ba-59df85f0f526</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img style="MARGIN: 0px 1em 1em" src="http://www.miky-schreiber.com/blog/content/binary/OracleSiebelLogo.jpg" align="left" />
        <p>
We're now starting to work with OBIEE (aka Siebel Analytics) as our main reporting
tool. Our vision is to completely replace it with the old Oracle Discoverer, who will
be soon out of Oracle's support. As I'll go on and on with OBIEE, I'll post here things
you might want to know. Even if you don't work with this tool you can open your mind
and get familiar with new stuff.
</p>
        <p>
My first experience with OBIEE - the installation, was not a great fun. The main problem
was the error: <em>Oracle Business Intelligence is not supported on this Windows version.
Oracle Business Intelligence is only supported on Windows XP x86, Windows 2003 x86,
Windows 2003 AMD64, Windows 2003 EM64T, Windows Vista x86, Windows Vista AMD64, Windows
Vista EM64T, and Windows 2000 x86.</em></p>
        <p>
The problem is that the installation can't find the windows version because systeminfo
is not working. Try to run c:\windows\system32\systeminfo.exe. If you get an
error about framedyn.dll, this is exactly the problem. Copy this file from the wbem
sub-directory to the system32 directory. Try to run again systeminfo and you'll see
it's running. Make sure the PATH environment variable contains the system32 directory
and that's it.
</p>
        <img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=a0eb7d43-c389-43fc-90ba-59df85f0f526" />
      </body>
      <title>OBIEE Installation Windows XP issue</title>
      <guid isPermaLink="false">http://www.miky-schreiber.com/Blog/PermaLink,guid,a0eb7d43-c389-43fc-90ba-59df85f0f526.aspx</guid>
      <link>http://www.miky-schreiber.com/Blog/PermaLink,guid,a0eb7d43-c389-43fc-90ba-59df85f0f526.aspx</link>
      <pubDate>Sun, 25 Oct 2009 07:44:38 GMT</pubDate>
      <description>&lt;img style="MARGIN: 0px 1em 1em" src="http://www.miky-schreiber.com/blog/content/binary/OracleSiebelLogo.jpg" align=left&gt; 
&lt;p&gt;
We're now starting to work with OBIEE (aka Siebel Analytics) as our main reporting
tool. Our vision is to completely replace it with the old Oracle Discoverer, who will
be soon out of Oracle's support. As I'll go on and on with OBIEE, I'll post here things
you might want to know. Even if you don't work with this tool you can open your mind
and get familiar with new stuff.
&lt;/p&gt;
&lt;p&gt;
My first experience with OBIEE - the installation, was not a great fun. The main problem
was the error: &lt;em&gt;Oracle Business Intelligence is not supported on this Windows version.
Oracle Business Intelligence is only supported on Windows XP x86, Windows 2003 x86,
Windows 2003 AMD64, Windows 2003 EM64T, Windows Vista x86, Windows Vista AMD64, Windows
Vista EM64T, and Windows 2000 x86.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The problem is that the installation can't find the windows version because systeminfo
is not working.&amp;nbsp;Try to run c:\windows\system32\systeminfo.exe. If you get an
error about framedyn.dll, this is exactly the problem. Copy this file from the wbem
sub-directory to the system32 directory. Try to run again systeminfo and you'll see
it's running. Make sure the PATH environment variable contains the system32 directory
and that's it.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.miky-schreiber.com/Blog/aggbug.ashx?id=a0eb7d43-c389-43fc-90ba-59df85f0f526" /&gt;</description>
      <comments>http://www.miky-schreiber.com/Blog/CommentView,guid,a0eb7d43-c389-43fc-90ba-59df85f0f526.aspx</comments>
      <category>BI;BI/Oracle;BI/Oracle/OBIEE</category>
    </item>
  </channel>
</rss>