BusinessObjects – Special Hint to “Connection Overload”
March 2nd, 2011 by Martin MauelshagenDid you ever want to point users of your BusinessObjects environment to different data sources (e.g because they belong to different subsidiaries, etc.) ?
As you might know a BusinessObjects universe can only belong to a single data source connection. So how could you achieve that the connection changes depending on a user login?
The answer is to use a feature called “Connection Overload” that is somewhat hidden within BusinessObjects. This blog post describes how this feature perfectly fits together with a multi-tenant setup of VoiceObjects.
Lets imagine for a moment that you have a VoiceObjects multi-tenant setup with two custom sites, representing subsidiaries in the USA and Germany. As their deployments are separated within VoiceObjects based on their sites, you also want to make sure that the reporting is filtered that way. In addition to the two sites and their users you have administrators who are responsible for maintaing and operating the entire VoiceObjects installation, so they should also get a combined view in the reporting.
At first you would have to create the VIEW layer (remember that the Business Intelligence tool always is pointed at the VIEW layer of Infostore, not at the TABLEs) for all three groups:
1) Create three database logins, each having the proper rights to access the Infostore tables that are filled with data by VoiceObjects Server and to create VIEWs.
2) Login as the first DB user and execute the LDVWCreate_EN.sql script that is delivered with VoiceObjects. This will create the unfiltered VIEW layer for the administrators.
3) Login as the second DB user and run the same script but with an additional WHERE condition that filters out all data not belonging to the US subsidiary
4) Log in as the third DB user and run the same script this time with the site filter for the German subsidiary
NOTE: Example scripts for the steps 2-4 for SQL Server & VoiceObjects 10.0 can be downloaded here.
5) Use a DB query tool to verify that all three VIEW layers were created and that they contain the right data, e.g. run the following small sql statement:
SELECT * FROM VOLDSITOBJ
It should return, depending on the DB user you run it with, either entries for all three sites (System, USA and Germany) or just USA or just Germany.
Next you would need to create three corresponding ODBC connections (VIEW_Infostore_All, VIEW_Infostore_USA and VIEW_Infostore_GER) on the server machine running BusinessObjects as well as three connections (Infostore_All, Infostore_USA and Infostore_GER) within BusinessObjects Designer using the previously created ODBC connections.
Now you need to create two additional BusinessObjects users, by using the BusinessObjects Central Management Console, one for the US and one for the German subsidiary (the standard admin user will be used to access the unfiltered data).
After that switch back again to BusinessObjects Designer and create two access restrictions (Tools -> Manage security… -> Manage Access Restrictions). In the pop-up windows select “New” at the bottom of the left pane. Then define the access restriction by setting a name (e.g. USA_repository) and selecting the connection that corresponds to the US subsidiary. Next create a similar 2nd access restriction for the German subsidiary.
Once both access restrictions have been created you need add the newly created users by clicking on “Add user or group” on the bottom of the right pane and then map those to the users you just created by using the “Apply” button in the middle of the “Manage Access Restrictions” window. Map the access restriction for US to the US user and do the same for the German one as well. Click OK to save your changes afterwards.
Back on the Designer screen, select “File” -> “Parameters” and select the Infostore_All connection and confirm by clicking “OK”.
Then save and export the universe.
Next we need to set the proper rights to the newly created users, so that they can access the universe and the reports.
In order to do that do the following:
1) Login as admin to the Central Management Console
2) Define “VIEW-On-Demand” rights for all Connections to all users, additionally “Full Control” rights are needed on the connection the user belongs to
3) Define “Full Control” rights for both users on the folders, categories and universes belonging to VoiceObjects Analyzer.
If you have any problems with the right assignments please contact your BO administrator or refer to the corresponding BO documentation.
Finally, log in as administrator, US_subsidiary and GER_subsidiary and run a report to verify that you do get the expected results. A good example would be “Service Analysis” from “Application Development and Tuning”. The report should either show you all services or just those services belonging to your subsidiary (= site), depending on which user you used to run the report.
Hopefully you enjoyed reading and following the steps through this blog post, next time we will show you how you can create “rolling” filters (e.g. for the last 7 days) in MicroStrategy and how these can be used for scheduling a report.




