on 04-30-2012 7:45 PM
Hi all,
I have following requirements:
The user will input following using 2 Input Schedules:
Input Data | |||||||||
IDENTIFIER | UOM | BUDGET_PERIOD | R_ENTITY | KPBI | PRICE_TYPE | RATE_TYPE | MEASURES | PLAN_CYCLE | SIGNED DATA |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | OPR | NA | PERIODIC | 2012 | 10 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | SPREAD | FD | PERIODIC | 2012 | 20 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | SPREAD | BR | PERIODIC | 2012 | 20 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | SPREAD | KL1 | PERIODIC | 2012 | 20 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | SPREAD | KL2 | PERIODIC | 2012 | 20 |
Now the script logic is going to run through DP Manager and should have following output.
It should lookup the value for PRICE_TYPE = OPR and RATE_TYPE=NA and add it with the values in PRICE_TYPE=SPREAD and RATE_TYPE=FD/BR/KL1/KL2(depending on the user input in datapackage manager which is a Userdefined Dimension) and store it as follows:
IDENTIFIER | UOM | BUDGET_PERIOD | R_ENTITY | KPBI | PRICE_TYPE | RATE_TYPE | MEASURES | PLAN_CYCLE | SIGNED DATA |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | RATE | FD | PERIODIC | 2012 | 30 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | RATE | BR | PERIODIC | 2012 | 30 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | RATE | KL1 | PERIODIC | 2012 | 30 |
MY | PERCENT | 2012.01 | GLOBAL | INT_RATE | RATE | KL2 | PERIODIC | 2012 | 30 |
I tried the following script logic but it doesn't work
*FOR %Q1% = FDR, BRR, KL3, KL6
*XDIM_MEMBERSET PRICE_TYPE=OPR, %Q1%
*WHEN PRICE_TYPE
*IS *
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %Q1%)
*ENDWHEN
*COMMIT
*NEXT
Please help,
Diksha.
May be like this:
*XDIM_MEMBERSET PRICE_TYPE=OPR,SPREAD
*FOR %Q1% = FD, BR, KL1, KL2
*XDIM_MEMBERSET RATE_TYPE=NA, %Q1%
*WHEN PRICE_TYPE
*IS OPR
*WHEN RATE_TYPE
*IS NA
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %Q1%)
*ENDWHEN
*IS SPREAD
*WHEN RATE_TYPE
*IS %Q1%
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %Q1%)
*ENDWHEN
*ENDWHEN
*NEXT
Check the script in UJKT
B.R. Vadim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Easy:
The script will be:
*XDIM_MEMBERSET PRICE_TYPE=OPR,SPREAD
*XDIM_MEMBERSET RATE_TYPE=NA, %RATE_TYPE_SET%
*WHEN PRICE_TYPE
*IS OPR
*WHEN RATE_TYPE
*IS NA
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %RATE_TYPE_SET%)
*ENDWHEN
*IS SPREAD
*WHEN RATE_TYPE
*IS %RATE_TYPE_SET%
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %RATE_TYPE_SET%)
*ENDWHEN
*ENDWHEN
Where %RATE_TYPE_SET% - is the scope coming from DM
Create DM package with the DEFAULT_FORMULAS chain and add in the SELECTINPUT PROMT only one dimension - RATE_TYPE
Message was edited by: Vadim Kalinin NEXT removed
Hi Diksha!
Yes, this script i for one value only (I think that was a requirement...) For multiple values you have to slightly modify my first script:
*XDIM_MEMBERSET PRICE_TYPE=OPR,SPREAD
*FOR %Q1% = %RATE_TYPE_SET%
*XDIM_MEMBERSET RATE_TYPE=NA, %Q1%
*WHEN PRICE_TYPE
*IS OPR
*WHEN RATE_TYPE
*IS NA
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %Q1%)
*ENDWHEN
*IS SPREAD
*WHEN RATE_TYPE
*IS %Q1%
*REC(FACTOR=1,PRICE_TYPE=RATE,RATE_TYPE = %Q1%)
*ENDWHEN
*ENDWHEN
*NEXT
User | Count |
---|---|
15 | |
4 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.