search cancel

Clarity: How do I configure a Power Filter Expression?

book

Article ID: 50101

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

How do I create an expression that will return the results I expect in a power filter? I created an expression and it gives me data that is unexpected.

Steps to Reproduce:

  1. Go to Home > Projects List View > Expand Filter Section > click 'Show All' button > click [Build Power Filter]

  2. Select Project > Status Indicator = On Track > click 'Add'

  3. Select 'AND' > Project > Manager = ''Administrator, PPM' > click 'Add'

  4. Submit the expression and view the listing > results are shown as expected


  5. Click on the Power Filter expression to update it

  6. Select 'OR' > Project > Manager = 'Administrator, PMO' > click 'Add'

  7. Submit the expression and view the listing > results are NOT shown as expected, it shows Administrator, PMO with other Status indicators



  8. Here is the expression created by the power filter builder:

Evaluated Expression: ( ( ( Project Status Indicator = 'On Track' ) and ( Project Manager = 'Administrator, PPM' ) ) or ( Project Manager = 'Administrator, PMO' ) )

Expression: ( project.status_indicator ==  lookup("INVESTMENT_STATUS_INDICATOR", "1") ) &&  ( project.manager_id ==  lookup("BROWSE_PROJMGR", "1") ) ||  ( project.manager_id ==  lookup("BROWSE_PROJMGR", "5003000") )

We want the filter to pick all projects with Status Indicator = On Track and then give us only those projects that are managed by Administrator, PPM  or Administrator, PPM. What is wrong with this expression?

Environment

Any Clarity release

Resolution

The power filter expression uses logical expressions that may need additional parenthesis for proper evaluation of the expression.

The sequence in creating the power filter affected the construction of the parenthesis.

In this case, the first expression is 'grouped' with parenthesis for evaluating (Status Indicator = On Track and Manager = Administrator, PPM) and then later the 'OR' condition is added, so it is searching for only records with Manager = Administrator, PPM and the records for Administrator, PMO also have a criteria of Status Indicator = On Track.

When building a Power Filter Expression and you are modifying an existing expression, be sure to check how the expression is constructed with parenthesis. If you are building this expression and you know all the parameters, it is easier to build it in the following sequence:

Steps:

  1. Home > Projects List View > Expand Filter Section > click 'Show All' button > click [Build Power Filter]

  2. Select Project > Status Indicator = Yellow > click 'Add'

  3. Select 'AND' > Project > Manager = in the browse window pick all the managers such as 'Administrator, PPM', 'Administrator, PMO' (this is a multi-select lookup)

  4. Submit the expression and view the listing > results are shown as expected
  5. Here is the expression created by the power filter builder:
    Evaluated Expression: ( ( Project Status Indicator = 'On Track' ) and ( ( Project Manager = 'Administrator, PMO' ) or ( Project Manager = 'Administrator, PPM' ) ) )

    Expression: ( project.status_indicator ==  lookup("INVESTMENT_STATUS_INDICATOR", "1") ) &&  ( project.manager_id ==  lookup("BROWSE_PROJMGR", "5003000") ||  project.manager_id ==  lookup("BROWSE_PROJMGR", "1") )                                                                                                             
  6.                                    

Attachments

1558710134703000050101_sktwi1f5rjvs16rqi.gif get_app
1558710132354000050101_sktwi1f5rjvs16rqh.gif get_app
1558710130353000050101_sktwi1f5rjvs16rqg.gif get_app
1558710128310000050101_sktwi1f5rjvs16rqf.gif get_app