Skip to Content
0
Former Member
Sep 09, 2009 at 12:57 PM

BPC Script Logic - XDIM_FILTER results in error

262 Views

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>

*XDIM_FILTER DESTINATION=[DESTINATION].PROPERTIES("PlanDest")="Y"

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?