COGNOiSe.com - The IBM Cognos Community

IBM Cognos 8 Platform => COGNOS 8 => Topic started by: jwilliamstd on 23 Sep 2009 03:29:57 PM

Title: Rendering a row based on a group
Post by: jwilliamstd on 23 Sep 2009 03:29:57 PM
hi , I believe we can render a row, based on a column value.

say for eg : a column RENDERME contains x or y values. When people from group ( accessX ) run the report, it should show rows having value x ( RENDERME column ) + rows having value y ( RENDERME column ). Else only rows having value y. Is this possible, if so how ?

Note : accessX is a group in LDAP.

detailed eg :
___________________________________________

# company  location      RENDERME

1 Collebra    Belgium      X
2 Insane     Germany     Y
3 Goran       Croatia      Y

___________________________________________
when accessX group run the report, report would display this way

# company  location      RENDERME

1 Collebra    Belgium      X
2 Insane     Germany     Y
3 Goran       Croatia      Y

_____________________________________________
when all other groups access the report, it would display this way

1 Insane     Germany     Y
2 Goran       Croatia      Y

_____________________________________________



Title: Re: Rendering a row based on a group
Post by: angela on 23 Sep 2009 04:33:59 PM
Is this cube/olap data?  If so, I think a row filter would work:

filter( company, renderme = y )

You'd need to cut or delete your Company node and use that new query calculation instead.
Title: Re: Rendering a row based on a group
Post by: jwilliamstd on 24 Sep 2009 11:22:01 AM
hi Angela,

Its OLAP tables, There are no filters based on a company. The column RENDERME is column which have value ( X ) for that column should hide entire row.

What we need to do is to hide the row based on the group, the user is from. How can we handle this situation.

One group (accessX) of people should see everything, other group should see only Y values.
Title: Re: Rendering a row based on a group
Post by: hpmkruit on 25 Sep 2009 01:42:10 AM
If your source data is a cube, the best way to do this is to make some custom views in your cube model based on your accesX / Y groups.

This will ensure that this will work for other reports as well.
Title: Re: Rendering a row based on a group
Post by: jwilliamstd on 28 Sep 2009 03:38:47 PM
Its not a cube, Its a regular db2 data source. what I want is some data security.

there are options to use security filters based on users groups / roles.

I added a group,
Based on column is none
Filter is following formula

IF ( 'gorup name' IN ( #CSVIdentityNameList()# ))
                 THEN ( [Metadata Layer].[Applications].[PIPELINE_GA]  IN ('Pipeline','GA','Parking Lot' ))
ELSE ( [Metadata Layer].[Applications].[PIPELINE_GA]  = 'GA' )

But its not working at all. that's were I'm confused.