OBIEE - How to force a user to filter on a column A every time column B is in the request

> Reporting and Data Access Tools > Oracle Business Intelligence (OBIEE/Siebel Analytics) > OBIEE - BI Presentation Service (SAW/OBIPS)

1 - Purpose

How to not allow the execution of the request and show an appropriate error message to the user If request contains any of the following columns: (Sales Amount, Sales Amount With Tax, Ticket Count), and if request does not contain at least one of the columns (Date, Month, Year, Day of Week)

Advertising

3 - Solution

This is possible via the Blocking Requests Based on Formula functionality using a custom js file

The documentation does not state where to place the js file.

  • Using oc4j as the web server, you need to put the custom .js in "OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res\b_mozilla" in order for the fmap: reference in the CustomMessages.xml file to find it (also need to bounce both OBIPS & oc4j).
  • Using IIS, you need to put the .js file in "OracleBI\web\app\res\b_mozilla", not "OracleBIData/web/res" as the doc states (and bounce OBIPS & WWW Pub Service).

Also, you can use a full network path reference for the src argument in the custom xml file - e.g.:

<script language="javascript" src="\\mylabmachine\OracleBIData\web\res\myblocking.js" />

That way, you can place the .js file anywhere - in this example in the "OracleBIData\web\res" folder, not "OracleBI\web\app\res\b_mozilla".

4 - Documentation / Reference