Wednesday, June 30, 2010

OBIEE Adding Image to Column Header

Or how to make this:

image

Goto your column header format:

image

Put a space in both your table heading and Column Heading, check the custom headings box.

Press the format button for the column heading:

image

Add some custom CSS:

image

like :

[code]

background-image:url('res/sk_oracle10/answers/abbcompound.gif');background-repeat:no-repeat;height:30px;

[/code]

Check the results:

image

Till Next Time

Monday, June 28, 2010

OBIEE dynamic pivot calculations

In http://obiee101.blogspot.com/2009/01/obiee-rowbased-calculations-in-pivot.html I showed you how can make make your own calculations in a pivot table. But what if you want to make it more dynamic? Consider this: The forecast is .4 * q1  + .6 * q3.
If we do it the “hardcoded” way we get:
image
This works fine:
image
But if we switch to 2008:
image
we loose the forecast.
you can make it dynamic by chancing the “hard-coded” row or column names to dynamic ones using the dollar sign $:
image
Now you always have a forecast:
image and image

Andreas made a smart remark:


Just for completion I would add the fact that $1 stands for the first element of the request. And as a warning (Wow) that the sorting there is determined by the request and not by the constellation in the pivot-table. Because this can cause some people to search around quite long, for example if you change the sorting in the request OBIEE will add up different quarters than before etc.


Till Next Time
PS @eejimkos it works fine in al my browsers:
Firefox:
image
IExplorer:
image
Chrome:
image

Saturday, June 26, 2010

OBIEE Google map redux

What @Alex does in Siebel: http://siebel-essentials.blogspot.com/2010/06/google-maps-encore-again-nochmal.html, can of course be done in OBIEE.

Just create a narrative constructing the URL:

image

don’t make it to long (say 25 addresses) :

image

and of course don’t forget the contians HTML checkbox:

image

And he presto:

image

or wait for 11g to do some real spatial stuff…

till next time

Friday, June 25, 2010

OBIEE you don’t want to see this…..

Have a look a this connection pool to an MSSQL database for max 10 seconds:

image

Kudos for the first one who can tell where the developer should report first thing tomorrow morning and especially why!

I will post the answer in a couple of days if no one has given any comments until then.

Till Next Time

Thursday, June 24, 2010

OBIEE Which report uses which column

With regular intervals you see this question on the forums. Seems that at lot of people are unaware of the possibilities of the catalog manager.

First let’s op a catalog in off-line read only mode:

image 

select the catalog top level:

image

Next goto Tools > Create Report (or use CTRL-R):

image

Select The Info you need:

image

enter a file location:

image

It’s saved as a tab delimited file.

you can do the same for dashboards:

image

Till Next Time

Wednesday, June 23, 2010

OBIEE Multie line tabs part 2

 

Remember this one:

http://obiee101.blogspot.com/2010/05/obiee-multi-line-tabs.html

Or how to change this:

image

into :

image

but how about this:

image

First follow the steps from the first article. Next change the code to:

[code]

<script type="text/javascript">
var allHTMLTags = new Array();
onload=function(){
if (document.getElementsByClassName == undefined) {
    document.getElementsByClassName = function(className)
    {
        var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
        var allElements = document.getElementsByTagName("*");
        var results = [];

        var element;
        for (var i = 0; (element = allElements[i]) != null; i++) {
            var elementClass = element.className;
            if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
                results.push(element);

        }

        return results;
    }
}
}
function insertAfter( referenceNode, newNode )
{ referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

function addNewLI( obj )
{
    x = document.getElementsByClassName('TabTable')[0];
    var newTable = document.createElement('table');
    var newLI = document.createElement('tbody');
    newLI.id='TabsTableRow2'; 
    var td1 = document.createElement("td");
    var row = document.createElement("tr");
    td1.className = 'TabSep';
    td1.innerHTML ='&nbsp;';
    td1.id='tr2';
    td1.style.width ='40px';
    row.appendChild(td1);   
    newLI.className = 'TabTable';
    newLI.appendChild(row);   
    newTable.cellSpacing = '0px';
    newTable.cellPadding = '0px';
    newTable.appendChild(newLI);
    insertAfter( x, newTable );
}

  function addSep(id){

    var tbody = document.getElementById(id).getElementsByTagName("TBODY")[0];
    addNewLI( tbody );
  }

function insCell(str,orgclassName,TabCount)
  {
    var oTable = document.getElementById('TabsTableRow2');
    var lastRow = oTable.rows.length;
    lastRow = lastRow -1
    var mytable=document.getElementById('TabsTableRow2')
    var newcell=mytable.rows[lastRow].insertCell(-1) //insert new cell to end of 2nd row
    newcell.innerHTML=str;
    if (orgclassName == 'TabDimCell') {
    newcell.className = 'TabDimCell2';
    }
    if (orgclassName == 'TabHiCell') {
    newcell.className = 'TabHiCell2';
    }
    newcell.style.width = '100px';
    var newcell=mytable.rows[lastRow].insertCell(-1) //insert new cell to end of 2nd row
    newcell.className = 'TabSep TabDimSep';
    newcell.innerHTML ='&nbsp;';

  }

  function insLastCell(str,orgclassName,TabCount)
  {
    var oTable = document.getElementById('TabsTableRow2');
    var lastRow = oTable.rows.length;
    lastRow = lastRow -1
    var mytable=document.getElementById('TabsTableRow2')
    var newcell=mytable.rows[lastRow].insertCell(-1) //insert new cell to end of 2nd row   
    newcell.innerHTML ='&nbsp;';
    var mytable2=document.getElementById('TabsTableRow2')
    newcell.style.textAlign = 'right';    
    var x = screen.width ;
    x = x - (((TabCount - 4) * 100)+ 130);
    x = x+'px';
    newcell.style.width = x;

  }
    var tds = document.getElementsByTagName('td');
    var TabCount = 0;
    var lTAB = new Array();
    for (var td = 0; td < tds.length; td++) {
        if (tds[td].className != 'TabDimCell' && tds[td].className != 'TabHiCell' ) {
            continue;
        }
        if (TabCount == 4) {   
        addSep('TabsTable');
        }
        tds[td].style.width = '100px'       
        if (TabCount >= 4) {   
        var str = tds[td].innerHTML;
        var orgclassName = tds[td].className;
        insCell(str,orgclassName, TabCount);
        tds[td].style.display = "NONE";
        tds[td+1].style.display = "NONE";
        }

        TabCount = TabCount + 1;
    }
     insLastCell(str,orgclassName,TabCount);

</script>

[/code]

Till Next Time\

Friday, June 18, 2010

Thursday, June 17, 2010

OBIEE PATCHES 10.1.3.4.1 part 5

….still waiting for 11g…

Patch Description Date Size
9206169 SEGMENT TREE SCROLL BAR ISSUE 17-jun-10 5.7 KB
8978099 RENDERING DELAY IN WORKSPACE 2-jun-10 10.6 KB
9649966 OBIEE LINKS DRILL IN CHART REPORT IMBEDDED IN PORTAL PAGE DON'T WORK IN FIREFOX 27 May 2010 9.3 KB
8324849 LOCALE / LOCATION LANGUAGE AND USER INTERFACE LANGUAGE RESET ON LOG OUT AND IN 25 May 2010 1.6 MB
9309415 CANNOT RUN A BIP REPORT WITH BIND VARIABLES USING BI DATA SRC 19 May 2010 28.1 MB
9698146 MERGE REQUEST ON TOP OF 10.1.3.4.1 FOR BUGS 8290868 8331209 8332167 8350962 18 May 2010 41 MB
9548172 JAPANESE CHARACTER SET NOT PASSED CORRECTLY TO DRILL REPORT IN FIREFOX BROWSER 18 May 2010 15.8 KB
9394038 REFRESH LINK IN A REQUEST INSIDE A DASHBOARD DOESN'T DISPLAY UPDATED DATA 14 May 2010 2.7 MB
9646342 MERGE REQUEST ON TOP OF 10.1.3.4.1 FOR BUGS 9492821 8439796 13 May 2010 2.7 MB
9483199 PERFORMANCE DROP SINCE 10.1.3.3.2 DUE TO SQL GENERATION IN 10.1.3.4.1 13 May 2010 73.8 KB
9523443 NESTED AGO AND TODATE NOT WORKING AGAINST ESSBASE 05 May 2010 207.8 KB
8768948 NQSSERVER FREQUENTLY CRASHING - 3-975745001 04 May 2010 28.1 MB
9595228 MERGE REQUEST ON TOP OF 10.1.3.4.1 FOR BUGS 6220349 8394579 04 May 2010 3.6 MB
8727821 CR #12-1U5TORQ: MODIFY NQSSERVER.EXE PE HEADER FLAGS TO SUPPORT LARGE ADDRESSES 28-apr-10 1004.3 KB

 

Till Next Time

Monday, June 14, 2010

OBIEE Guide user to help text

On most dashboards there is a “general” page with a “help” text regarding de dashboards. A nice cosmetic trick is to change the mouse icon when a user approaches the help link:

image

Just add some custom css to the dashboard:

image

[code]

cursor:help

[/code]

Till Next Time

Sunday, June 6, 2010

OBIEE 11g Launch

We the buzz is on the street, OBIEE 119 will be launched on July the 7th in London.

Most countries have there local launch at the same time with a video link to the London event.

From the information I have so far this is only a marketing launch, not the general availability. (Of course I hope I’m wrong ;-) )

Nice to see even PCWORLD has found the bet: http://www.pcworld.com/businesscenter/article/197910/major_oracle_bi_launch_coming_next_month.html. It’s still open so have a shot.

Till Next Time.