Has anybody ran into the question of how do we handle the #missing functionality that Hyperion has?

OSAdmin
Valued Contributor
Originally posted by Sam Richards

7/9/2019

I know in OS we have the DM clear that will clear a whole DU by origin or we can write a Clear rule with the is no data set to true but I was wondering if anybody has came up with anything else or if there is anything I am missing. A use case would be that you seed the current forecast with the prior forecast as a durable calc data so you need to clear say 20 accounts for a given period (Periodic Scenario) across a few DIDs so it would take some time in a form (plus you still have data in the import and forms origin). In Hyperion they would use the #missing s to clear out the data from what I am being told. I am thinking about going down the path of allowing a zero load to clear the data then running a rule overnight to clear out all the zeros to clean back up the database.

1 REPLY 1

OSAdmin
Valued Contributor
Originally posted by Jon Golembiewski

Dim destinationInfo As ExpressionDestinationInfo = api.Data.GetExpressionDestinationInfo("""")

Dim sourceDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula(""Filtermembers(A#Account1, A#Account2)"")
If sourceDataBuffer.DataBufferCells.Count > 0 Then 'if no records in the data buffer don't run
'create a data buffer that will fill with the source cells during the loop below
Dim resultDataBuffer As DataBuffer = New DataBuffer

'loop through the cells in the databuffer
For Each sourceCell As DataBufferCell In sourceDataBuffer.DataBufferCells.Values
If (Not sourceCell.CellStatus.IsNoData) Then 'Don't waste performance if there aren't any source data cells.
Dim resultCell As New DataBufferCell(sourceCell)
resultCell.CellAmount = 0
resultcell.CellStatus = DataCellStatus.CreateDataCellStatus(True, False)
resultDataBuffer.SetCell(api.SI,resultCell,False)
End If
Next

api.Data.SetDataBuffer(resultDataBuffer,destinationInfo)

End If