02-15-2024 01:04 PM - edited 02-15-2024 02:28 PM
This episode of Tech Talks After Hours is an extension of the Tech Talks episode: “Playing with/by the Rules” and takes a deeper look at Chapter 4 of the "OneStream Finance Rules and Calculations Handbook". Tom Linton and Jon Golembiewski investigate data buffer cell loops by reviewing these rules line by line in the StoogeCorp application. Remember, you can get the StoogeCorp application FREE with your purchase of the “OneStream Finance Rules and Calculations Handbook” that Jon authored and available at OneStreamPress.com!
This Tech Talks After Hours is available as part of the Navigator Passport Subscription.
02-15-2024 01:40 PM - edited 02-15-2024 02:34 PM
Stay tuned for more monthly Tech Talks "After Hours" recordings as part of your Navigator Passport Subscription!
02-29-2024 02:48 PM
Good Talk guys!
I have a question regarding the loop beginning on line 49, shown about 18:00 min in:
It looks like we're accessing the DataBufferCellPk property of each DataBufferCell in the dictionary's list of Values. Since the property DataBuffer.DataBufferCells is a Dictionary(Of DataBufferCellPk, DataBufferCell), Would it work to use the DataBufferCellPk Keys directly?
For Each sourceCellPk As DataBufferCellPk In priceDataBuffer.DataBufferCells.Keys
volumeCell = api.Data.GetDataCell($"
F#EndBalLOad:I#Top:O#Top:A#Volume:
U1#{sourceCellPk.GetUD1Name(api)}:
U2#{sourceCellPk.GetUD2Name(api)}:
U3#{sourceCellPk.GetUD3Name(api)}:
U4#{sourceCellPk.GetUD4Name(api)}:
U5#{sourceCellPk.GetUD5Name(api)}:
U6#{sourceCellPk.GetUD6Name(api)}:
U7#{sourceCellPk.GetUD7Name(api)}:
U8#{sourceCellPk.GetUD8Name(api)}")
'do other stuff...
Next
02-29-2024 03:20 PM - edited 02-29-2024 03:28 PM
I like your creative thinking and will defer to Jon Golembiewski to see if he's tried that approach "in the wild" or is aware of any gotchas!
Keep testing and let us know what you discover!
Our sincere hope is that the samples in StoogeCorp will continue to fuel discussions which allow our rule writing community to take the foundational elements we lay out and find ways of enhancing and refining code to continue that never ending pursuit of code efficiency!