Thursday, November 5, 2009

“Tool Tips” in Column Headers

What is the formula behind a measure? What is the source of the column in the report? These kinds of questions could be handled in multiple ways. The data dictionary feature is one, although a common reaction to the data dictionary feature is that it’s more suited to IT than to the business users. Another way is to present a “tool tip” in Answers (the text of which comes from the Description property of the logical or presentation column in the metadata). However, many users do not have access to Answers or mainly encounter the columns while perusing reports in a dashboard.

A pretty good solution is to create a “tool tip” that appears when a mouse hovers over a column heading in a table, as shown here.

image

To present a tool tip in a column header, create a custom heading for the column using the html span tag, like this:

image

The full text of the column heading in this case is:

<span title="Three letter abbreviations for the calendar months">Month Name</span>

The title, enclosed in double quotes, will become the tool tip when a mouseover occurs.

This technique will work with virtually every browser, including IE, Firefox, Opera, Chrome, and Safari. (Which is not to say that Opera, Chrome, and Safari will necessarily be fully compatible with OBIEE). Tool tips will appear in pivot tables as well as in tables:

image

However, there are a few limitations. One is that you cannot control how long the tool tip appears (as far as I know). It appears for about 5 seconds. So limit the amount of text in the span title.

Tool tips will not appear in charts or column selectors. In charts, the entire tag will appear in an axis title unless you delete it  in the Axis Title control .

 

image

image

Another limitation is that you have to allow “cross-site scripting”. The instanceconfig.xml file must include the following tag:

<HardenXSS>false</HardenXSS>

Place this somewhere between <ServerInstance> and </ServerInstance> and restart the presentation server. OBIEE, by default, prevents cross-site scripting.

Before deciding to set HardenXSS to false, you should be sure that you understand the potential security vulnerabilities that this opens up.