Those tricky developers at Oracle have provided the masses with a beautiful front-end interface for OBI 11g. They even answered the call for provided native, intuitive drill-down functionality right there in the GUI. I only have positive things to say about it after working with OBI 11g since during the Beta release. Ahhhhhh!
At a high-level, a hierarchical column is created from a logic dimension’s logic hierarchy. Clearly you can have more than one logical hierarchy under one logical dimension which means you could have more than one hierarchical column. A hierarchical column is only called by that name once it resides in the presentation layer (ultimately the Subject Area, right?). So, by dragging over a logical hierarchy (at any level, but I won’t go into that now) into a Subject Area’s Presentation Table, a Presentation Hierarchical Column is created. Ok. So, the end-users from the front-end GUI actually seen a new icon in their Analysis Subject Area selection list which differs from the Presentation Column icons they are used to seeing.
This blog post is just about one gotcha that may or may not catch a few metadata developers when attempting to leverage the new hierarchical columns when developing in the RPD. This has to do with the fact that for any level in a level-based hierarchy, the key column representing the level, must also be represented in the Presentation Layer (Subject Area) in order for that hierarchy level to be visible in the Subject Area.
Here is an illustrated example using the SampleApp repository that comes from Oracle. I’ll let you do the testing for yourself.
Read the full story
You just have to love Oracle Business Intelligence and the enhancements over OBI 10g. Again, my recommendation is to get OBI 11g in your org as soon as possible. At a minimum a dev environment just so you can check out the cool features like the one this blog post talks about, data type sensitive prompts.
What exactly are we talking about here? We are talking about intelligent object creation assistance. Instead of just the typical, kludgy, “show all” functionality you see in some other tools when developing a dashboard, report, etc. in OBI 11g presentation services, the OBI 11g interface can intelligently provide you with options related to the context in which you are developing. Let’s take for example the development of a simple dashboard prompt. In this post I will seek to provide a quick tutorial “slash” illustration of this concept of context sensitive object creation. I am using the SampleApp that can be downloaded from Oracle’s BI website download page.
First Example – Calendar Prompt via Date/TimeStamp Data Type
- Login to the OBI 11g Portal
- Choose to create a New > Dashboard Prompt
- Select Sample Sales as the Subject Area
- On the Dashboard Prompt creation page click the plus icon to expose the add prompt type list
- Select “Column Prompt…”
- From the Subject Area column selector prompt choose Time > T00 Calendar Date
- When prompted make sure the User Input drop-down box has the Calendar option selected
- Click OK
- The prompt is now ready to previewed down in the bottom section. Click on the calendar icon next to the empty field.
- Viola! A beautiful calendar is present showing OBI 11g’s Web 2.0 functionality for date/timestamp data types.
Second Example – Slider Prompt via INT Data Type
- Continuing from the first example, use the plus icon to expose the add prompt type list to create a second prompt.
- Select “Column Prompt…”
- From the Subject Area column selector prompt choose Base Facts > 1-Revenue
- Click OK
- In the New Prompt window, expand the User Input drop-down box and select Slider as the option
- The New Prompt window will change shape to show additional options based on the selected user input context. In the Lower Limit field input 1000000 (one million). In the Upper Limit field input 10000000 (ten million).
- Click OK
- Viola! Again, another beautiful web 2.0 prompt is shown in the bottom section of the window showcasing the slider prompt. This prompt can be used to predicate results to fall within a specific metric (Revenue) range while providing the user with an intuitive analytics experience.
Conclusion
In OBI 11g, clearly Oracle has done a great job with several of the front-end functional pieces of the application. This is only the first release of OBI 11g and we are only 5 months in to the GA of the tool. With the expected release of the R1 patch to enhance and fix several R1 bugs, with some customer feedback I think we all should be optimistic at what lies ahead for Oracle in the Business Intelligence space.
Posted on 10 March 2011
The whole idea of starting and stopping processes for OBI is nothing new. Windows gets buy with a very simple system that most are familiar, but Linux can often pose as a challenge. Since, I prefer to recommend Linux (*Nix) over Windows when it comes to OBI, especially with OBI 11g it is worth a quick post on automating the start-up of OBI 11g on a Linux box (modify this logic slightly in the next OBI 11g patch when UNIX is supported).
Getting down to it, as a best practice, I recommend starting all java and system components on boot of the server. For a while there were arguments on whether to do this or not, but ultimately it boils down to maintaining as much of a hands-off approach as possible. In the Linux world to launch the four (out-of-box) services that would be required to run OBI 11g, a user would basically need to log into the Linux OBI 11g server (or terminal in) to launch a terminal window for at a minimum of three of those components (WLS, WLS Node Manager, and OPMN). The fourth, the OBI Managed Server (handles the Java pieces), could be started from the WLS Admin Console which provides some benefit but it could also be started from a command line. It should also go without saying, but I’ll state it any way, that the database containing the RCU created MDS and BIPLATFORM schemas should be up, pingable, and in good health before this script is launched.
Here is some basic script below to start your OBI 11g Linux environment on boot. This is just the init.d script that you should copy, save to a linux text editor with a file name such as “OBI11gStartStop” (no extension) and load to the /etc/init.d/ directory, and load like any other init file. This blog post assumes that you have some familiarity with commands such as chkconfig as well as working with Linux directories and permission sets.
#!/bin/sh
# chkconfig: 345 99 8
# description: OBIEE11g and WLS auto start-stop script
#
# File is saved as /etc/init.d/obiee11gWLS
#
# Run-level Startup script for OBIEE
# set required paths
#export ORACLE_BASE=/u01/app/oracle
ORACLE_OWNR=obi11g
ORACLE_FMW=/u01/FMW
#export PATH=$PATH:$ORACLE_FMW
case "$1" in
'start')
echo -e "Starting Weblogic Server...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/startWebLogic.sh > /tmp/WLSStart.log 2>&1 &"
sleep 30
echo -e "Starting Node Manager..."
su - $ORACLE_OWNR -c "$ORACLE_FMW/wlserver_10.3/server/bin/startNodeManager.sh > /tmp/WLSNodeMgrStart.log 2>&1 &"
sleep 90
echo -e "Starting Managed Server: bi_server1..."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/bin/startManagedWebLogic.sh bi_server1 http://OBI11G:7001 > /tmp/WLSMgdSvr.log 2>&1 &"
sleep 90
echo -e "Starting OPMN Components...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/instances/instance1/bin/opmnctl startall"
sleep 120
;;
'stop')
echo -e "Stopping OPMN Components...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/instances/instance1/bin/opmnctl stopall"
sleep 60
echo -e "Stopping Managed Server: bi_server1..."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/bin/stopManagedWebLogic.sh bi_server1 http://OBI11G:7001 > /dev/null 2>&1 &"
sleep 30
echo -e "Stopping Weblogic Server...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/bin/stopWebLogic.sh > /dev/null 2>&1 &"
sleep 15
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: 'basename $0' start|stop|restart|status"
exit 1
esac
exit 0
######################################
References:
http://linux.about.com/library/cmd/blcmdl8_chkconfig.htm
http://www.hentzenwerke.com/wp/chkconfig.pdf
http://www.xaprb.com/blog/2006/06/06/what-does-devnull-21-mean/