OBIEE - How to define the BI server security to add automatically a filter when a column is added to an answer (row security level)

Bi Server Architecture With Client

Introduction

“How do we make BI EE to generate different filters for every column(within a dimension) chosen from Answers?”

The idea is when you add the column Channel desc from the SH sample schema to an answer the query must be automatically filtered with a predicate on a other column.

Steps

  1. Go to Manage > Security Manager
  2. Open a group or a user
  3. Add this filter

Obiee Permission Automatic Filter

You can read it as when you add the column “Channel Desc”, add the business model filter

SH.Channels."Channel Class" = 'Direct'

The result

With the column “Channel class” and “Amount Sold”

Sql Request

SELECT Channels."Channel Class" saw_0, "Sales Facts"."Amount Sold" saw_1 FROM SH ORDER BY saw_0

Repository Design Filter On Column Result1

As you can see no filter is added to the database query.

Database Query

select T161.CHANNEL_CLASS as c1,
     sum(T245.AMOUNT_SOLD) as c2
from 
     SH.CHANNELS T161,
     SH.SALES T245
where  ( T161.CHANNEL_ID = T245.CHANNEL_ID ) 
group by T161.CHANNEL_CLASS
order by c1

With the column “Channel desc” and “Amount Sold”

Sql Request

SELECT Channels."Channel Class" saw_0, Channels."Channel Desc" saw_1, "Sales Facts"."Amount Sold" saw_2 
FROM SH ORDER BY saw_0, saw_1

By adding the column Channels.“Channel Desc”, OBIEE add automatically the security filter.

Repository Design Filter On Column Result2

Database Query

select T161.CHANNEL_CLASS as c1,
     T161.CHANNEL_DESC as c2,
     sum(T245.AMOUNT_SOLD) as c3
from 
     SH.CHANNELS T161,
     SH.SALES T245
where  ( T161.CHANNEL_ID = T245.CHANNEL_ID and T161.CHANNEL_CLASS = 'Direct' ) 
group by T161.CHANNEL_DESC, T161.CHANNEL_CLASS
order by c1, c2

With the column “Channel desc” and “Channel class”

Sql Request

SELECT Channels."Channel Class" saw_0, Channels."Channel Desc" saw_1 FROM SH ORDER BY saw_0, saw_1

Database Query

select distinct T161.CHANNEL_CLASS as c1,
     T161.CHANNEL_DESC as c2
from 
     SH.CHANNELS T161
where  ( T161.CHANNEL_CLASS = 'Direct' ) 
order by c1, c2

Others

This documentation was created in answer to an original idea of Venkat with this blog entry: Puzzlers – Puzzle 1





Discover More
Repository Design Filter On Column New Logical Table
Blog - OBIEE – Dimension fragmentation design to add an automatic filter with the choice of a column

In response to an original Idea of Venkat with this blog entry: Puzzlers – Puzzle 1 How do we make BI EE to generate...
Obiee User Group Permission Filter
OBIEE - Data security (visibility of data)

This article is data security or authorization in OBIEE. Data-level security controls the visibility of data (content rendered in subject areas, dashboards, Oracle BI Answers, and so on) based on the...
Repository Design Filter On Column New Logical Table
OBIEE - Dimension fragmentation design to add an automatic filter with the choice of a column

In response to an original Idea of Venkat with this blog entry: Puzzlers – Puzzle 1 “How do we make BI EE to generate...
Obi Edition
OBIEE - Security

To determines who has the ability to view data and objects, you can combine several parameters configuration on different security levels: Object Security: business logic security (repository) and catalog...



Share this page:
Follow us:
Task Runner