Archive

Posts Tagged ‘tips’

Histograms in WebIntelligence

September 27th, 2011 1 comment

Every once and a while I run across a reporting technique that makes me say:  Wow – that was really clever.

In going through the new charting in BusinessObjects v4.0, I noticed that there was no histogram available.  After doing a Google search I found a great article by Alastair Gulland.

Alastair uses  a combination of straight-forward formulas and out-of-the-box thinking.  A brilliant combination.  He also introduces a way of making the histogram dynamic by using a Input Control.  Very nice.  It’s definitely worth checking out.

You will find the full blog post here:
http://www.gulland.com/wp/?p=662

Click on the image to see the finished report with Histogram and Input Control

«Good BI»

WebI Date Conversion

March 18th, 2011 4 comments

Have you ever been in a situation where you wanted to display a date on a report but the date was in date/time format?

I run into this all the time when dealing with detailed data from transactions with date time stamps.

The best way I’ve found to do it is by converting the value from DateTime to Text and back to Date.

Convert Text to Date

Believe it or not, it’s not too bad after you figure it out.  It did take me a few tries so I thought I’d share my solution with you.

=ToDate(Left(UserResponse("As Of Date");
Pos(UserResponse("As Of Date");" ")-1);"M/d/yyyy")

Let’s break it down so we can understand the individual components.

In this case, the field I am formatting is a date/time prompt and I will reference it by the name “As Of Date”.

I will need to perform 3 steps in able to convert it:

  1. Use the Pos function and find the space between the date & time, e.g. 1/1/2011 15:03:03 returns the position value of 9.
  2. Next use the Left function and grab everything to the left of the space – 1.  e.g. 1/1/2011 15:03:03 returns the text “1/1/2011”.
  3. ToDate now takes the date text and converts it to a date.  e.g. 1/1/2011 becomes a date type field 2011-01-01

Display As Text

Optionally now that I have the value in a date-field format, I can now convert it back to a formatted date using the FormatDate function.

=FormatDate(ToDate(Left(UserResponse("As Of Date");
Pos(UserResponse("As Of Date");" ")-1);"M/d/yyyy");"yyyy-MM")

What about you?

What’s your favorite WebI syntax for converting data types in WebI?

Do you have any conversions that are giving you trouble?

«Good BI»

Managing Security Authorizations

February 9th, 2011 2 comments

A very common question when it comes to SAP BusinessObjects is:  How should I manage my SAP BusinessObjects security authorizations?

Although that is an extremely broad topic, today I want to discuss the issue of leveraging an external corporate directory to manage user authorizations.

NOTE:  It's important to remember that only the
user/group membership gets delegated out.
The group/object rights assignments must still be
performed by the BI administrator.

In most large organizations, there is a security team which manages users ids and user groups.  These users and groups are typically stored in a Corporate Directory such as LDAP, Windows Active Directory, etc.

The userid and password from the Corporate Directory is the method through which users are able to authenticate themselves (via secLDAP, secWinAD, secSAP, etc.)  So the question naturally arises:  Should I manage all my authorizations through groups managed via external security solutions?

The answer for your organization will depend on the answers to the following questions:

  1. How much cooperation is there between the BI Administrator and the Corporate Directory Team?
  2. How quickly can new groups be added to the Corporate Directory?
  3. How many groups would you need to add to the Corporate Directory to manage all the BI security scenarios?
  4. Do I want to delegate the bulk of my BI security management to the Corporate Directory Team?

There are pros and cons to any software implementation and the right solution must be made according to the culture and policies that fit your organization.

Leveraging External Security Exclusively

In certain cases the Corporate Directory team may be able to create and manage all the groups BI Administrators will need for security within the Corporate Directory and they are able to assign the correct security when a user is provisioned.

The advantages include:

  • Single location for user/group membership
  • Delegated Model – less for the BI administrator to manage

The disadvantages include:

  • Delegating group creation and user group membership

This model has been successfully implemented at a large insurance company with 500+ BusinessObjects-related groups mapped to an external Active Directory server.

Leveraging A Mixed Model

At a high-level the mixed model leverages:

  1. External security management for course grain security
  2. Internal secEnterprise groups for fine grain security

I recommend course grain security to manage which users should have access to the BI environment (e.g. NY Users, Georgia Users, Reporting Users, etc.)  Once the user has been imported into the system, we can fine tune their access via fine grain security.

NOTE:  We refer to these as Data Access Roles because
the users in the Georgia Users group only get to see Georgia reports
and the corresponding Georgia data.

Administrators can use internal secEnterprise groups for managing fine grain security.  You can create roles such as:  WebI Viewer, WebI Developer, InfoView user, which can control the product specific rights allowed to the users of that role.

NOTE:  We refer to these as Entitlement Roles because
the users in the WebI Viewer group are allowed limited
application functionality.

The advantages include:

  • A clean delineation between the Corporate Directory and the BI Security
  • Balance between corporate control and system flexibility

The disadvantages include:

  • Security being managed in two places
  • The need for the BI Administrator to be notified of fine grain role changes so users can be remapped

It’s hard to say for sure whether the Mixed Model tends to work better in most organizations than the delegated model.  You need to determine which model will work best for your organization.  What I can say is that  both models allow for extremely flexible deployments amongst the multitude of different scenarios that I have come across.

Don’t Forget

Regardless of which model you use there is something you should know…

One organization which had communication problems with their LDAP server and as a result of a synchronization problem, most of their users were deleted from their BusinessObjects environment.  Users – Inboxes – Personal Folders.   Gone.

There is one extremely important rule when leveraging an external Corporate Directory.  Make sure that every external user in your BusinessObjects environment is mapped to at least one secEnterprise group.  This will guarantee the the mapped users id will never accidently be deleted from the system.  For Java SDK samples around user management, go here.

«Good BI»

Join the Innovation Party!

January 29th, 2011 No comments

Software companies are beginning to give all customers an equal voice and I love it.  SAP had launched Idea Place – a great place for you to share you best ideas directly with the product developers.

In the past SAP has used user groups, product councils, customer suggestions via technical support, surveys and other methods to gather feedback on how to make our products better, but now you can get involved and it’s easy.

SAP is asking you to join the party and submit your best ideas for innovations, feature enhancements and all around great stuff.  SAP wants you!

SAP Wants You!

Have you ever thought:

  • Why doesn’t the software let me do this?
  • This interface doesn’t make sense!
  • Why hasn’t anyone thought of adding this feature

Well – instead of being frustrated by great ideas and nowhere to send them, now you can post them on Idea Place.

Idea Place

Here’s how it works:

  1. Join the party at https://ideas.sap.com/
  2. Find your favorite product
  3. Look at the ideas that other customers have submitted
  4. Comment on the ideas of others
  5. Add your vote to your favorite ideas

Next thing you know, you’ll be saying, “Oh, that’s a great idea – why didn’t I think of that!”

What I also love about idea place is that you can see which feature suggestions have been rejected, which are still under consideration and finally, which have already made it into the product and when.

Submit Your Own

If you have a great idea of your own, simply add it!

This website is all about building a community of people with a passion to make SAP’s product better.  Please sign-on the Idea Place asap so you can contribute your ideas to make your job easier and make the product better.

Each year we make resolutions to improve our lives.  Help improve everyone’s life – share your ideas and let your voice be heard.

«Good BI»

Date Conversion Made Easy…

October 15th, 2010 3 comments

Have you ever been using SAP BusinessObjects WebIntelligence and wanted to turn a prompt from a date time into a date?

I do a lot of demos using Microsoft SQL Server and by default Microsoft SQL Server saves everything as a date & time.  So what if I don’t want the time?  Simply convert the datetime into a date within the semantic layer.

Ignoring the time 12:00:00

There are many solutions, including many which rely on some form of string parsing, but why make it more complicated than it has to be?  This is what I like to use:

CONVERT(DATETIME, CONVERT(INT, GETDATE()))

This is the perfect solution if all the data is stored as 1/1/2010 12:00:00, wherein the time element is 0.

Ignoring time and rounding down

If indeed there is a time and it’s important to round down, e.g. 1/1/2010 11:59pm should be rounded down to 1/1/2010, then in this case I use:

CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, GETDATE())))

This is great when accessing call center data and I need to group calls around a specific day, but the time is still extremely relevant.

Anyone else have any commonly used tips or tricks within the semantic layer?  Post it in the comments below!

«Good BI»