Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How can I use a Smart List member to generate a target Period and Year?

Ryan FellJun 13 2022

Hello,
I have a requirement to move data stored against generic months (Month 1, Month 2, etc) to target periods and years based of of a period year selection.
For example, for Month 1 there is calculated data that needs to be copied into Jul->FY23, where both Jul and FY23 have been populated using a Smart List. The DATACOPY code would look like the below:
DATACOPY "M001"->"Begbalance"->"FY22" TO "No Month"->"Jul"->"FY23".
Month 2 would be as per the below:
DATACOPY "M002"->"Begbalance"->"FY22" TO "No Month"->"Aug"->"FY23".
This needs to run for each of the 24 generic months and the target Period and Year for month M001 will differ for each entity for different planning cycles. i.e For Entity 2 M001 would have a Period and Year selection of Oct->FY24, M002 of Nov->FY24, etc.
The code I wanted to use was the below where I am converting the Smart List code to member reference (have had success with using this before):
FIX("Working", "EUR" , "Budget", "Entity 1")
FIX("Account1")
DATACOPY "M001"->"Begbalance"->"FY22"
/*TO "No Month"->"Jul"->"FY23"; ---- Example of expected output*/
TO "No Month"->@MEMBER(@NAME(@CONCATENATE("HSP_ID_",@HspNumtoString("Account-SmartLst-Period"->"FY22"->"M001"->"Begbalance"))))->@MEMBER(@NAME(@CONCATENATE("HSP_ID_",@HspNumtoString("Account-SmartLst-Year"->"FY22"->"M001"->"Begbalance"))));
DATACOPY "M002"->"Begbalance"->"FY22"
/*TO "No Month"->"Aug"->"FY23"; ---- Example of expected output*/
TO "No Month"->@MEMBER(@NAME(@CONCATENATE("HSP_ID_",@HspNumtoString("Account-SmartLst-Period"->"FY22"->"M002"->"Begbalance"))))->@MEMBER(@NAME(@CONCATENATE("HSP_ID_",@HspNumtoString("Account-SmartLst-Year"->"FY22"->"M002"->"Begbalance"))));
DATACOPY "M003"->"Begbalance"->"FY22"
/*TO "No Month"->"Sep"->"FY23"; ---- Example of expected output*/
TO "No Month"->@MEMBER(@NAME(@CONCATENATE("HSP_ID_",@HspNumtoString("Account-SmartLst-Period"->"FY22"->"M003"->"Begbalance"))))->@MEMBER(@NAME(@CONCATENATE("HSP_ID_",@HspNumtoString("Account-SmartLst-Year"->"FY22"->"M003"->"Begbalance"))));
ENDFIX
ENDFIX
I am getting the below error message:
"Error:Invalid Calc Script syntax [
DATACOPY "M001"->"Begbalance"->"FY22" TO "No Month"->@MEMBER] Rule Planning...."
I appreciate that the DATACOPY function may not be the best way to achieve this solution but it seemed like the most logical as I try to dynamically create a mapping from each of the 24 generic months to a Period and Year for each of the different Entities.
Thanks in advance for your insight.

Comments