Data Buffer for reading another Scenario

Sergey
Contributor III

Hello !

I would like to use a data buffer that would read data from another Scenario than the one set in my data management job, is it possible ?

Right now, I have a simple formula that should retrieve data from scenario S#Simul while I'm running the business rule from a data management which is set on S#Actual, but it returns nothing :

 

 Dim dbr_keys As DataBuffer = api.Data.GetDataBufferusingformula("RemoveZeros(FilterMembers(S#Simul:V#Periodic:AEAccount1:F#None:I#None:O#Forms:U2#None:U3#US:U4#None:U5#None:U7#HO:U8#None:F#None, U6#C4.Base))",,False)
dbr_keys.LogDataBuffer(api, "dbr_keys",100)

 

Is there a specific data buffer script to use in order to run on another data unit ?

 

Regards,

7 REPLIES 7

Omkareshwar
Contributor II

Hi Sergey,

While running a Business Rule (BR) from a Data Management (DM) Step, you can retrieve data from other data units apart from what you have mentioned in the DM Step. However, please note that you can only set data to the data units specifically mentioned in the DM Step.

Thanks, Omkareshwar

Archetype Consulting

Thanks, Omkareshwar
Archetype Consulting

i don't see con dim mentioned in your buffer script, what if you add C#Local to your script. What I've always done is to retrieve the cell that you are expecting in the buffer, get the pov of that cell, use C#local, remove parent, cube dimensions and use that in the buffer. 

Big_Rick_CPM
Contributor

It looks like the account dimension token is missing the # (it has E instead so maybe just a typo).

Yes that's a typo as I changed the account code to keep privacy 🙂

Makes sense... just make sure your actual data buffer contains the account dimension token with a valid member when actually running. You also have the flow dimension in the member script twice it appears.

SxD
New Contributor III

Any luck with this? Running into a situation where I would like to do this as well, especially since I have extensibility enabled across different scenario types. 

Sergey
Contributor III

I worked a little bit more on the data buffer and indeed it can retrieve values from anywhere in the application, but it will write only on the current data unit.

Something like this will work for any data (ie even if the current data unit is for budget scenario, Entity B ...) :

Dim dbr_driver As DataBuffer = api.Data.GetDataBufferUsingFormula("removezeros(E#A:S#Actual:A#MyAccount)", DataApiScriptMethodType.Calculate, False, destinationinfo)