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:
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?
Any Clarity release
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: