cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Destination App: Script Logic

srshekars
Participant
0 Kudos
986

Hi,

There is need to push the data from one model to another, based on the logic that If the selected Category is Plan / Budget / Forecast in the DM Package, then based on the YEAR property of that category member the data has to move to that time period to the destination app. There is no Time selection in DM Package. Based on this Can we do it by using the Script logic. The following is the requirement apart from rename dim, skip dim, add dim. Can anyone please guide me.

Src Dimension

Memberset

Operation

Destination Dimension

Dest. Member

SACCOUNT

PL_SALES

Skip

SAUDITID

TOTALAUDITID

DATASRC

D_INPUT

TARIFF

<ALL> members where TO_PROFIT is not empty

Property TO_PROFIT

PROFIT_ACCOUNT

Thanks

Sekhar

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Hi Sekhar,

Please read and provide required info! Your requirements table is absolutely unclear.

Vadim

srshekars
Participant
0 Kudos

Hi,

Sorry late response, BPC System details are as follows....

BI release736 level 0001

CPMBPC Release800 Level 0007

EPM Add-in 10.0 SP 18 Patch 1 Build 8848 .NET 3.5    

Tariff Dimension’s property TO_PROFIT filled with the PROFIT_ACCOUNT (which is a dimension in Dest App). So based on this, the data has to send to the respective Profit Account which are members in the PROFIT ACCOUNT dimension (in Destination APP) from Tariff Member.


Prepared the following Script Logic:


XDIM_MEMBERSET SACCOUNT=UNBILLED SALES, BILLED SALES

XDIM_MEMBERSET SAUDITID = BAS(TOTALAUDITID)

*SELECT(%YEAR%,"[YEAR]","CATEGORY","[ID]=%CATEGORY_SET%")

*SELECT(%YEAR_MONTHS%,"[ID]","TIME","[YEAR]=%YEAR% AND [CALC] = 'N'")

XDIM_MEMBERSET TIME=%YEAR_MONTHS%

Destination_APP = Profit

SKIP_DIM = Customers

SKIP_DIM = SFLOW

RENAME SAUDITID = DATASRC

RENAME_DIM S_PROFIT_CENTRE = PROFITCENTRE

RENAME TARIFF = PROFIT_ACCOUNT

ADD_DIM CURRENCY = LC

ADD_DIM INTORDER = 9999999



To test it in UJKT need to complete it with Profit Account Condition. need help in this.


Thanks,

Sekhar

former_member186338
Active Contributor
0 Kudos

Hi Sekhar,

You still didn't answer a lot of questions in

Where is a full list of dimensions in source and destination models? Etc...

Strange things:

BI release736 level 0001  - what do you mean?

CPMBPC Release800 Level 0007 - so old???

XDIM_MEMBERSET SACCOUNT=UNBILLED SALES, BILLED SALES - do you really have members with spaces in ID's????


The WHEN/ENDWHEN loop will be like:


*WHEN TARIFF

*IS *

*REC(EXPRESSION=%VALUE%, TARIFF=TARIFF.TO_PROFIT)

*ENDWHEN


But you have to provide extra info to make this script working...


Vadim

srshekars
Participant
0 Kudos

Hi Vadim,

Its my mistake about system info. There is no Spaces in the member ids.

The Sales to profit logic should transfer data according to the rules below:

Src Dimension

Memberset

Operation

Destination Dimension

  1. Dest. Member

CATEGORY

Selection

Pass through

CATEGORY

CUSTOMERS

<ALL>

Skip

INFLATION

<ALL>

Pass through

INFLATION

SACCOUNT

PL_SALES

Skip

SAUDITID

TOTALAUDITID

DATASRC

D_INPUT

SFLOW

<ALL>

Skip

S_PROFIT_CENTRE

<ALL>

Pass through

PROFITCENTRE

TARIFF

<ALL> members where TO_PROFIT is not empty

Property TO_PROFIT

PROFIT_ACCOUNT

TIME

Selection

Pass through

TIME

VALUETYPE

VALUE

Skip

MEASURES

Periodic

Pass through

MEASURES

Add dim

CURRENCY

LC

Add dim

INTORDER

9999999


This is my requirement. Trying to achieve it by using script logic. Till now no success.

Thanks for your Support.

Sekhar

former_member186338
Active Contributor
0 Kudos

Something like:

*SELECT(%TAR_PROF%,"[ID]","TARIFF","[TO_PROFIT]<>''")

*SELECT(%YEAR%,"[YEAR]","CATEGORY","[ID]=%CATEGORY_SET%")

*SELECT(%YEAR_MONTHS%,"[ID]","TIME","[YEAR]=%YEAR% AND [CALC] = 'N'")

*XDIM_MEMBERSET SACCOUNT = BAS(PL_SALES) //Assuming PL_SALES - parent member

*XDIM_MEMBERSET SAUDITID = BAS(TOTALAUDITID)

*XDIM_MEMBERSET VALUETYPE = VALUE //VALUE is a BASE member?

*XDIM_MEMBERSET CATEGORY = %CATEGORY_SET% //Just to be clear!

*XDIM_MEMBERSET TARIFF = %TAR_PROF%

*XDIM_MEMBERSET TIME = %YEAR_MONTHS%

*DESTINATION_APP = Profit //Profit?? case sensitive!

*SKIP_DIM = CUSTOMERS,SACCOUNT,SAUDITID,SFLOW,VALUETYPE

*ADD_DIM CURRENCY = LC,INTORDER = 9999999,DATASRC = D_INPUT

*RENAME_DIM S_PROFIT_CENTRE = PROFITCENTRE,TARIFF = PROFIT_ACCOUNT

*WHEN TARIFF

*IS *

*REC(EXPRESSION=%VALUE%, TARIFF=TARIFF.TO_PROFIT)

*ENDWHEN

But please read help about script logic

Vadim

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Sekhar,

Yes, you can determine year from category property, then you do a select using the year on your time dimension with the year property = to the year in your category. All the base member with that year will be selected into a variable, and you use that variable in your script logic.

Andy

srshekars
Participant
0 Kudos

Hi Andy,

Thanks for quick reply.  Can you please share the script logic for it.  It would be very helpful.

Thanks again.

Sekhar

Former Member
0 Kudos

Hi Sekhar,

*SELECT(%YEAR%,"[YEAR]","CATEGORY","[ID]=%CATEGORY_SET%")

*SELECT(%YEAR_MONTHS%,"[ID]","TIME","[YEAR]=%YEAR% AND [CALC] = 'N'")

Then yon can use the %YEAR_MONTHS% as your time members.

Andy