Controlling Presentation Object Visibility

You can use the Hide object if field to hide selected Presentation layer objects in the Subject Area Tree in Answers and BI Composer. You can hide subject areas, tables, columns, and hierarchies.

Although the Hide object if field is shown for presentation levels, it is a placeholder for a future release and currently has no effect on presentation level objects.

The Hide object if field only controls object visibility and does not affect object access. For example, objects that are hidden can be queried using tools like nqcmd.

There are three different types of expressions that you can use in the Hide object if field to determine Presentation layer object visibility:

  • Constant. Enter any non-zero constant in the field to hide the object. Enter 0 or leave the field blank to display the object.

  • Session variable. You can use a session variable in the expression to control whether the object is hidden. If the expression evaluates to a non-zero value, the object is hidden. If the expression evaluates to zero, is empty, or has no value definition, the object is displayed. The session variable must be populated using a session initialization block or a row-wise initialization block. You must properly populate the session variable to control the visibility.

    The SQL for the init block can use CASE statements to control whether to return zero or a non-zero number in the session variable. An example of an expression with a session variable might be:

    VALUEOF(NQ_SESSION."VISIBLE")
    

    Note that session variable names that include periods must be enclosed in double quotes.

  • Session variable comparison. You can use an equality or inequality comparison to control whether the object is hidden, using the following form:

    'session_variable_expression' '=|<>' 'constant'
    

    If the expression evaluates to zero, null, or empty, the object is displayed. If the expression evaluates to a non-zero value, the object is hidden.

    For example:

    NQ_SESSION."VISIBLE" = 'ABC'
    NQ_SESSION."VISIBLE" <> 'ABC'
    

    Note that session variable names that include periods must be enclosed in double quotes.

    You can use any scalar function supported by Oracle BI EE in the Hide object if expression. Scalar functions include any function that accepts a simple value for each of its arguments and returns a single value. Most functions listed in the following sections can be used, except for functions that return non-deterministic results like RAND, NOW, CURRENT_DATE, CURRENT_TIMESTAMP, CURRENT_TIME, and so on:

    • All <<String Functions- link to SQL Ref>>

    • Most <<Math Functions- link to SQL Ref>> (except RAND)

    • Most <<Calendar Date/Time Functions- link to SQL Ref>> (except NOW, CURRENT_DATE, and so on)

    • Most <<Conversion Functions- link to SQL Ref>> (like <<CAST- link to SQL Ref>>, <<IFNULL- link to SQL Ref>>, <<TO_DATETIME- link to SQL Ref>>, and <<VALUEOF- link to SQL Ref>>)

    For example, the following expression checks to see if the NQ_SESSION.VISIBLE session variable begins with the letters ABC:

    LEFT(VALUEOF(NQ_SESSION."VISIBLE"), 3) = 'ABC'
    

    Similarly, the following expression checks to see if the given variable begins with ExtnAttribute:

    Left(VALUEOF(NQ_SESSION."ADF_LABEL_ORACLE.APPS.CRM.MODEL.ANALYTICS.
    APPLICATIONMODULE.CRMANALYTICSAM_CRMANALYTICSAMLOCAL_CRMANALYTICSAM.
    OPPORTUNITYAM.OPPORTUNITY_EXTNATTRIBUTECHAR001"), 13) = 'ExtnAttribute'
    

When you run a consistency check, the Consistency Check Manager detects any inconsistencies in the visibility filter expression.