Pages

Dec 12, 2011

BPC Script logic - Scope using member property

*XDIM_MEMBERSET is for scoping based on the member ID.

What if user wants to scope members based on a specific property value?

       For example, a user wants to filter Account dimension members those are Asset. To achieve this, we need to use ACCTYPE property which has the type value of account. AST is the value for ASSET account.
(Note: Value is based on the APSHELL of BPC.)


The command is *XDIM_FILTER. The usage is

*XDIM_FILTER <DIMENSIONNAME> = [DIMENSIONName].Properties("Property name") = "Property value"

      So above example can be written as below.
      *XDIM_FILTER ACCOUNT = [account].properties(“ACCTYPE”)=”AST”

      Let's say Account dimension has 3 members as below.
         ID           ACCTYPE
      Extsales          INC
      CASH              AST
      TAXES             EXP
      NETINCOME    INC

  
      Then about *XDIM_FILTER_ACCOUNT will select CASH member only.
      Let's assume If you already used multiple *XDIM_MEMBERSET command
      and below are selected data from the fact tables.
 
    *XDIM_MEMBERSET TIME = 2011.JAN
      *XDIM_MEMBERSET CATEGORY = BUDGET
     <Result>
     EXTSALES , 2011.JAN, BUDGET, 9000
     CASH     , 2011.JAN, BUDGET, 3000
     TAXES    , 2011.JAN, BUDGET,  800
     NETINCOME, 2011.JAN, BUDGET, 1500

     Now if you add *XDIM_FILTER against ACCOUNT dimension.
     *XDIM_MEMBERSET TIME = 2011.JAN
     *XDIM_MEMBERSET CATEGORY = BUDGET
     *XDIM_FILTER ACCOUNT = [account].properties(“ACCTYPE”)=”AST”

 
     Only one record will be selected from above result because CASH is
     the only account member that has 'AST' value of ACCTYPE property.
     <Result>
     CASH     , 2011.JAN, BUDGET, 3000

No comments:

Post a Comment