I am writing a Script Logic in BPC and I need it to include all records where the DESTINATION dimension member has the Dimension Property of PLANDEST = "Y"
This approach works:
*SELECT(%DestinationMbrs%,"[ID]","Destination","[PlanDest] = 'Y'")
*XDIM_MEMBERSET DESTINATION = %DestinationMbrs%
This approach does not work:
*XDIM_MEMBERSET DESTINATION = <ALL>
It results in the error message at runtime:
Error in step 1 of QueryCubeAndDebug: -2147467259 Query (1,156) The PLANDEST dimension attribute was not found.
The reason I would like to use the second approach is that the first approach relies on the SELECT statement. The documentation on the SELECT statement says:
The *SELECT statement is executed at the time the logic is validated, and the expanded result is
written in the LGX file. This means that if the related dimension is modified, it may be necessary
to re-validate the rules.
So if I change the DESTINATION dimension members PLANDEST flags, I need to re-validate the script logic. That is a maintenance nightmare and a problem waiting to happen.
How do I solve this so that the dimension attribute is evaluated at runtime, not at logic validation time?