COGNOiSe.com - The IBM Cognos Community

IBM Cognos 8 Platform => COGNOS 8 => Report Studio => Topic started by: philelmousse on 30 May 2011 07:49:47 AM

Title: Filter data by user
Post by: philelmousse on 30 May 2011 07:49:47 AM
Hello,

I would like filter a dimension'level depending on the user id.

For example :

CATEGORY(Car, Bicycle, Boat, Bike)

I want that user John can only see "Bike" and "Boat". But i have much more Category than here.

Whats the best way to make that ?

My model in framework manager is DMR
Title: Re: Filter data by user
Post by: BigMikeMike on 30 May 2011 04:22:12 PM
You will need a cross reference (xref) table with all of the categories that each user can see, e.g.,

UserId   Category
--------   ------------
John      Bike
John      Boat
Mary      Bike
Mary      Car

Join the xref table to the dimension table by category and add filters to your dimension table / fact tables as follows

[xref].[UserId] = #$account.personalInfo.userName# 

Something like this should work depending on your requirements.

Good Luck!
Title: Re: Filter data by user
Post by: hthakkar on 31 May 2011 01:24:17 AM
Hello,

It all depends on your requirement.If your requirement is to filter out a smaller set of records which would not change frequently then you can surely move forward with "cross reference (xref) table" creating a direct relation ship within a view or table for the User and the dimension to be shown and filter accordingly.


But if your requirement is to move forward with a continuously changing security for e.g. id Today John has access to see Bike categories then tomorrow he might need access to Cars too,so in this case its better to move with User Groups and Roles and Providing them access to the dimension via a central repository like Security Metadata.The user security and access would be governed by security metadata.

Thanks,
Hitesh Thakkar

hthakkar@infocepts.com|www.infocepts.com