Category Archives: Administration Tool

OBIEE and enterprise architecture.

Sometimes, the challenges get to us from where we don’t expect them to come from. Imagine, your OBIEE application has been developed and tested – and you’re ready for production. And this is definitely the area that your biggest challenge might come into play. I’ve worked on numerous OBIEE projects where security was a paramount priority for production servers. Deploying OBIEE was a big pain for various reasons, such as:

1. Restrictive access (or no access at all) to production server for OBIEE team. This is definitely a killer issue, since it’s inviting so many things to go wrong. You might not be able to troubleshoor repository, check DB connections, run various OBIEE scripts, and a lot more. Also, you need to train the infrastructure team on being OBIEE server admins, which is a challenge (unless you have a dedicated OBIEE team). A big risk factor is timing – your work might get delayed, because your request for services restart takes a few days to complete.

2. OS / Software / Platform issues. Your application might work fine on your test and development servers, however, in most cases you loose any control leverage once you move to the production. OS patches, Database patches, restrictive firewall policies might cause many things to break (some of the things I can think of – LDAP Authentication, Ibots). Worst thing is that you might not even be aware of any changes if you’re not on the technical infrastructure priority list. Usually, the server people are overworked – having to provide support to hundreds of web applications in a large enterprise, so you might want to develop good working relationship from the start.

3. Network connectivity. This might happen at large projects, as well as small ones. Due to today’s networking complexities and proliferation of cloud computing, your related servers (authentication, data-sources) might be located in a different building / state / country (I’m not joking). As such, the network lagging issue might be affecting your OBIEE application in the worst ways possible. Always check this immediately after deploying and make sure that you don’t see any increases in ping times.

This is it for today. Please come and read again

Strange Presentation Services behavior

While auditing our OBIEE security model We’ve stumbled into behavior that we think is a bug. If it’s not, then I hope it’s a feature that would be removed in the future. Here’s a description of how we get this particular Presentation services behavior:

1. Summary – Our goal is to be able to add new users in RPD in online mode, assign them to their respective repository security groups ( based on data-level and row-level security), and during their first login  have them automatically assigned to one of 2 appopriate Presentation catalog group (that is used for presentation security, such as prohibiting overwriting of shared reports). We use OS authentication model with Impersonator (OBIEE picks up and strips users’ OS username). However, the problem doesn’t seem to be SSO-related or OS-related.

These’re steps to reproduce:

a) create new user “test_user1″ in RPD “Business Intelligence” group (for Presentation group “Business Intelligence”). Check-in RPD and save it.

b)  login with the “test_user1″ first time to OBIEE

c) go to My Account. You can clearly see that “test_user1″ is a member of Presentation group “Business Intelligence” (which is good for us and correct at the same time)

d) log-out. close browser. clean cookies. log-in as an administrator (member of Presentation Services Admin). Go to Settings –> “Oracle BI Presentation Services Administration”–>”Manage Presentation Catalog Groups and Users”
Select Edit for the “Business Intelligence” group

as you can see – “test_user1″ isn’t there

e) If we click on “Add New Member”-> “Show Users and Groups” – there’ll be a red-stop symbol (padlock image)

We’ve filed an SR with Oracle Support, and still waiting for an answer. I personally think that in future OBIEE releases – the Presentation Services should be tied closer with BI server – maybe going as far as consolidating those 2 modules.

And have a nice work week!

OBIEE Error messages

One of the things that I’d like Oracle to improve is the Analytics error messages (both in the Repository and in the Answers). Sometimes, they’re just too broad – for example – Internal Assertion Error 46036 – which could mean anything: from corrupted RPD after transitioning or upgrading to logical levels not being set correctly in the hierarchy levels. Next set of errors that people have problems with is the installation errors  – usually those aren’t very descriptive as well, however, with time you sort of learn to distinguish those. Third problem is the debugging .cpp errors appearing in the RPD or Answers (such as – which should have been caught by system and a human-error message to appear – such as “.cpp, line 506
This application has requested to terminate the runtime in an unusual way”. Overall, troubleshooting OBIEE is a logical step-by-step process well-described in their Oracle Business Intelligence Troubleshooting Guide, however, by making error messages human-friendlier -they’d make OBIEE consultants job easier.

Hierarchy – order of displaying lowest level attributes

There was a problem in drill down in one of the hierarchy with the order it displays the lowest level attributes.

When drilling down on a certain category – “Organization”, Answers always shows columns in the following order:
Organization Name,Department Name, Sub-Department Category, Org Detail Number, Org Detail Name

The desired order is:
Organization Name,Department Name, Sub-Department Category, Org Detail Name, Org Detail Number

The hierarchy was defined as following in the RPD (please note that Org Detail Name and Org Detail Number are at the same lowest level defined as keys):

Organization Name
Department Name
Sub-Department Category
Org Detail Name | Org Detail Number

It has been found that it doesn’t sort alphabetically.

With Oracle’s OBIEE support and help – the solution has been found:

1. Use the Query Repository feature under Tools menu in the RPd to do a search of these 2 columns in the RPD.
2. In the Query Repository window note down the IDs for these 2 columns. Please check which one is bigger than the other.
3. The logical table, delete the 2 columns (Org Detail Name and Org Detail Number) and add them again in the desired order. Make sure you add them in the correct order. Query for the columns again, the IDs should be in the reverse order as step 2.
4. Add them in the hierarchy again
5. Change the order of level keys in Dimension hierarchy
6. Save the changes and test again.

After RPD re-deployment – it was working.

There must be an easier way to change order of composite key (complex key) columns.

CONCAT function

Concat- this useful function is often overlooked in BI. However, by using it – you can make your routine work much easier (at both BMM and Presentation layers of OBIEE).

There are two ways of using this function in OBIEE. The first method is to simply concatenate two character strings. The second method uses the character string concatenation character (||) to concatenate more than two character strings. You can also reuse the CONCAT function in OBIEE, but this might be an “excessive use of force”. Please note, you can only concatenate CHAR/VACHAR strings *you can use CAST function to convert from other data type*.

Method 1.

CONCAT (expression1, expression2)


character_expression Expressions that evaluate to character strings (if numeric you can use CAST function).

For example – CONCAT (‘The year is ‘, CAST(TimeTable.FiscalYear AS CHAR))

Method 2:

CONCAT (expression1 || expression2 || expression3 and so forth)


Very much like the previous one – expressions that evaluate to character strings, separated by the concatenation operator || (double vertical bars).

For example – CONCAT (‘Total is: $’ || SalesFact.TotalSales ||  ‘USD’)
I was having trouble using the CONCAT function type 2 expression in the Business Layer of the Analytics Admin Tool (using multiple expressions which evaluate to strings). The problem seemed to happen with functions such as
CONCAT (“DimTable”.”Org”.”STATE” ||”DimTable”.”Org”.”CITY” ||”DimTable”.”Org”.”ADDRESS”) and the error message is:   [nQSError: 27002] Near <)>: Syntax error [nQSError: 26012] .
The workaround seems to be using a nested CONCAT statement – CONCAT (CONCAT(“DimTable”.”Org”.”STATE” ,”DimTable”.”Org”.”CITY”),”DimTable”.”Org”.”ADDRESS”) Hopefully, it’ll be fixed in the OBIEE release 11g