Thursday, January 24, 2008

OBIEE Restricting data based on User Group

One way of doing this is by making a “calculated measure”
FI:
CASE WHEN LOCATE('GROUP_NAME', VALUEOF(NQ_SESSION."GROUP")) > 0 THEN
MyBM.”SomeColumn” ELSE '-' END

The reason for using LOCATE is that
NQ_SESSION."GROUP" returns a comma separated string with all the groups a user belongs to fi: “Everyone;GROUP_NAME”Till Next Time

5 comments:

stijngabriels said...

Dear John,
why don't you use the Security Manager to deny access to a logical columns for a specific user group?
Why bothering end users with columns they are not allowed to see the content of?

With best regards,
Stijn

John Minkjan said...

Hello Stijn,

Some times you want to use the same report for all users. An exclusion in the Security Manager will result in a error for the report if opened in a different profile.

Best Regards
John

forankit21 said...

I have a requirement
there are 2 users one having access to 10 columns other having access to 5 columns .they both have access to a common report having all the columns .
How it will work for second user having access to 5 columns?

John Minkjan said...

You could hide them using conditional formating.

regards

Ritesh said...

I have question about data security for given user. Say for example I have report which is shared by multiple users. But based on the current user he should be able to see fewer rows than other. For example one country head can see all the data for his country and another country head can see data of his country. Where as the region head should be able to see data for all the country for that region. This can be extended any thing like say Cost Centre based security and so on.

How can I impose this kind of restriction?

Thanks,
Ritesh