Announcement
ABCRecent Activity
How do I clean a scenario before copying data from another scenario? in the member formula.
Hi Everyone. I want to copy the information from one scenario to another. Currently, I’m using the member formula of the target scenario to transfer the data. However, I first apply a calculate to set the values to zero, followed by a clecarcalculateddata to properly remove the existing information. The issue is that after this step, the copy process doesn’t execute, and the scenario remains with zero values. My code is as follows: api.Data.calculate("S#FORECAST_" & monthNumber & "_AT_CY_BUDGET_RATE = 0*(S#FORECAST_" & monthNumber & "_AT_CY_BUDGET_RATE)",True) api.Data.ClearCalculatedData("S#FORECAST_" & monthNumber & "_AT_CY_BUDGET_RATE",True,True,True,True) Dim destinationInfo As ExpressionDestinationInfo = api.Data.GetExpressionDestinationInfo("S#FORECAST_" & monthNumber & "_AT_CY_BUDGET_RATE") '' Create new Databuffer for the results Dim resultDataBuffer As New DataBuffer 'Base Entity at Local If Not api.Entity.HasChildren And api.Cons.IsLocalCurrencyForEntity() Then BRapi.ErrorLog.LogMessage(si,"Validate 1") ' Get Databuffer from the account and scenario Dim sourceDataBuffer As DataBuffer = api.data.GetDataBufferUsingFormula("RemoveZeros(FilterMembers(S#[Forecast " & TimeName & "],[A#Root.Base]))", , False) ' Verificar si hay celdas con datos If sourceDataBuffer.DataBufferCells.Count > 0 Then BRapi.ErrorLog.LogMessage(si,"Validate 2") For Each sourceCell As DataBufferCell In sourceDataBuffer.DataBufferCells.Values If (Not sourceCell.CellStatus.IsNoData) And (sourceCell.CellAmount <> 0.0) Then BRapi.ErrorLog.LogMessage(si,"Validate 3") Dim resultCell As New DataBufferCell(sourceCell) resultCell.DataBufferCellPk.OriginId = DimConstants.Import resultDataBuffer.SetCell(si, resultCell, True) End If Next api.Data.SetDataBuffer(resultDataBuffer, destinationInfo,,,,,,,,,,,,,False) End If End If I would appreciate your help in understanding why the values are not being copied. The process is executed when I consolidate the information.Marco18 hours agoContributor II18Views0likes2CommentsIs there guidance on the setting for the number of parallel executions for Harvest Batch Loads?
When using the BRAPi.Utilities.ExecuteFileHarvestBatchParallel function in an Extender BR, does anyone have any guidance and/or opinions on the proper setting of the parallelBatchCount parameter? My understanding has always been to set it to a maximum of the number of CPUs - 1 , available for the server performing data management or batch load processing.91Views0likes1CommentRunning Validate and Load Steps for Multiple Years
Hi everyone, We are uploading portions of our budgets in Excel templates across multiple years. The data is imported across all the years in one shot, but the validate and load steps need to be run year by year if imported through the workflows we have set up. Does anyone know if there is a way to execute the validate and load steps across multiple years through a rule? I know we can use the batch harvest folders, but we're hoping to keep the workflow steps as close to those used in other processes as possible. Thanks, JamesJames3212 days agoNew Contributor9Views0likes0CommentsCalculate values in different scenarios
Hi all, I tried to issue an api.Data:calculate with the following (fake) formula : A#ACCXXX:F:MYFLOW:S#MYSCEN = A#ACC001:F#CHI:S#ACT Of course OS complains because I'm reading from the current Scenario (ACT) but I want to write in a different Scenario that implies a different Data Unit (is it ?) While being in ACT scenario, if I would switch to DataBuffers to write in the destination Scenario (is it?) Could someone point me in the right direction ? I did this, but looks like it doesn't write a **bleep** ! Dim _srcDC As DataCell = api.Data.GetDataCell("A#ACC001:F#CHI:S#ACT") Dim _targetDB As New DataBuffer() Dim _dcNew As DataCell = New DataCell(_srcDC) _dcNew.SetScenario(api, "MYSCEN") ' This WON'T CHANGE <=================== _dcNew.SetAccount(api, "ACCXXX") ' This Change _dcNew.SetFlow(api, "MYFLOW") ' This Change _targetDB.SetCell(si, _dcNew) api.Data.SetDataBuffer(_targetDB, _destinationInfo) In the end, works fine... just doesn't change the Scenario... :-/ What am I doing wrong ? Thanks in advance for your help FabioGFabioG2 days agoContributor3Views0likes0CommentsCube View Comments
Hello All, I have a cube view in which i am using on the Row Level a GetDataCell Function, example GetDataCell(Account1+ Account2): Name (Trade). on the column level i have a Comment using the V#Annotation:Name(Comments). however, on the GetDataCell the Comment is highlighted in Green. is there a way to be able to allow the user to write a comment on row that contains a GetDataCell function?ZAH2 days agoNew Contributor3.5KViews0likes5CommentsIs there an example of using System.Reflection namespace with OneStream APIs
I'm driving myself a little crazy at the moment. Sometime in the last few days, I stumbled across a Community Post (I think) about how to use System.Reflection to programmatically list OneStream API object methods, overloads, parameters, etc. At the time I saw it, I thought "Oh, that's cool!" and remembered that if I needed to find it again, I just needed to search for "Reflection" in community posts. Well, for the life of me, I can't find the post again. Does anyone know of a post that describes how to use System.Reflection's methods, like GetMethods on OneStream API objects? I know I'm being lazy and could work out the code myself, but what I read had already worked out the BindingFlags and other parameters on the calls that were specific to OneStream.KurtMayer2 days agoContributor9Views0likes0CommentsKeep freeze panes with excel book
Originally posted by Chris Matthews We are able to freeze panes with a cube view export straight to excel but when the same cube view is used in a book the freeze panes is lost. Is there a setting or way to keep the freeze panes?OSAdmin2 days agoValued Contributor II1.5KViews3likes4CommentsGenesis Replay Now Available!
1 MIN READ On this episode of Tech Talks, Jacqui Slone and Doug Kinchley join Matt Kerslake to discuss OneStream Genesis. Join them and learn how Genesis is unlocking new possibilities for finance teams to click-to-configure new financial and operational models, launch new planning processes, and enhance reporting and analysis with ease. This replay will be available here until July 18th and always available on Navigator as part of your Passport subscription.mkerslake2 days agoContributor27Views1like0CommentsRow Formula is overring Ud8 Calc
Hi Team, In our report we are having multiple formula's in row and columns (Can't apply the row or column overrides). So, have created a UD8 Dynamic calc. though after applying the UD8 member in column, row formula is overring the UD8. Can please help us to resolve the issue.ShivaPrasad3 days agoNew Contributor III16Views1like2CommentsWorkflow Certified Status with User Details
Hi Team, We have a requirement like, Finance team wants to have one report with the details of Workflow Status, who certified the respective entity (name of the user) along with certification time stamp. used the below Dash Board data set rule. followed the below steps to get the grid view Attached the Business rule to Data Adapter Attached the Data Adapter to BI Viewer. But here i am getting two certified status for the entity. we need the latest certified status. can you please help us to resolve this. Imports System Imports System.Collections.Generic Imports System.Data Imports System.Data.Common Imports System.Globalization Imports System.IO Imports System.Linq Imports Microsoft.VisualBasic Imports OneStream.Finance.Database Imports OneStream.Finance.Engine Imports OneStream.Shared.Common Imports OneStream.Shared.Database Imports OneStream.Shared.Engine Imports OneStream.Shared.Wcf Imports OneStream.Stage.Database Imports OneStream.Stage.Engine Namespace OneStream.BusinessRule.DashboardDataSet.WF_Certification_Status Public Class MainClass Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardDataSetArgs) As Object Try Select Case args.FunctionType Case Is = DashboardDataSetFunctionType.GetDataSetNames Dim DSnames As New List(Of String)() DSnames.Add("GetWFStatusandCertificationF") Return DSnames Case Is = DashboardDataSetFunctionType.GetDataSet If args.DataSetName.XFEqualsIgnoreCase("GetWFStatusandCertificationF") Then Return GetWFStatusandCertificationF(si, args) End If End Select Return Nothing Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function Private Function GetWFStatusandCertificationF(ByVal si As SessionInfo, ByVal args As DashboardDataSetArgs) As DataTable Dim WFTable As New DataTable("WFSTATUS") Dim CertTable2 As New DataTable("WFCertSTATUS2") Dim CombinedTable As New DataTable("CombinedWFandCertStatus") CombinedTable.Columns.Add("ProfileKey") CombinedTable.Columns.Add("ProfileName") CombinedTable.Columns.Add("ScenarioName") CombinedTable.Columns.Add("TimeName") CombinedTable.Columns.Add("StatusText") CombinedTable.Columns.Add("LastExecutedStepStatus") CombinedTable.Columns.Add("LastExecutedStepTimeUTC") CombinedTable.Columns.Add("LastExecutedStepTimeEST") CombinedTable.Columns.Add("SignOffState") CombinedTable.Columns.Add("UserName") CombinedTable.Columns.Add("TimeStamp") Dim WFName As String = "ASIA" Dim WFScenario As String = "Actual" Dim WFTime As String = "2025M1" Dim methodTypeId As String = XFCommandMethodTypeId.WorkflowStatus Dim resultDataTableName As String = "WFSTATUS" Dim methodQuery As String Dim customSubVars As New Dictionary(Of String, String) brapi.ErrorLog.LogMessage(si,"1") methodQuery = "{" & WFName & "}{" & WFScenario & "}{" & WFTime & "}{AllProfiles}{Descendants}{ProfileName like '*.Confirm*'}" 'methodQuery = "{" & WFName & "}{" & WFScenario & "}{" & WFTime & "}{'%Confirm_Certify'}{Descendants}{ProfileName like '*.Confirm*'}" Using dbConnApp As DBConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si) WFTable.Columns.Add("ProfileKey") WFTable.Columns.Add("ProfileName") WFTable.Columns.Add("ScenarioName") WFTable.Columns.Add("TimeName") WFTable.Columns.Add("StatusText") WFTable.Columns.Add("LastExecutedStepStatus") WFTable.Columns.Add("LastExecutedStepTimeUTC") WFTable.Columns.Add("LastExecutedStepTimeEST") Dim objDataSet As DataSet = BRApi.Database.ExecuteMethodCommand(dbConnApp, methodTypeId, methodQuery, resultDataTableName, customSubVars) 'Dim FilterData As Datarow() = WFTable.Select("ProfileKey", "ProfileName","ScenarioName", "TimeName", "StatusText", "LastExecutedStepStatus","LastExecutedStepTimeUTC","LastExecutedStepTimeEST Desc") For Each row As DataRow In objDataSet.Tables("WFSTATUS").Rows WFTable.Rows.Add(row.Item("ProfileKey"), row.Item("ProfileName"), row.Item("ScenarioName"), row.Item("TimeName"), row.Item("StatusText"), row.Item("LastExecutedStepStatus"), row.Item("LastExecutedStepTime"), row.Item("LastExecutedStepTime")) Next ' For Each row As DataRow In FilterData ' WFTable.Rows.Add(row.Item("ProfileKey"), row.Item("ProfileName"), row.Item("ScenarioName"), row.Item("TimeName"), row.Item("StatusText"), row.Item("LastExecutedStepStatus"), row.Item("LastExecutedStepTime"), row.Item("LastExecutedStepTime")) ' Next End Using brapi.ErrorLog.LogMessage(si,"2") methodTypeId = XFCommandMethodTypeId.CertificationForWorkflowUnit methodQuery = "{" & WFName & "}" & "{" & WFScenario & "}" & "{" & WFTime & "}" & "{True}" & "{}" Using DBConnAppForCert2 As DbConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si) CertTable2.Columns.Add("ProfileKey") CertTable2.Columns.Add("ScenarioKey") CertTable2.Columns.Add("TimeKey") CertTable2.Columns.Add("SignOffState") CertTable2.Columns.Add("UserName") CertTable2.Columns.Add("TimeStamp") Dim objDataSet As DataSet = BRApi.Database.ExecuteMethodCommand(DBConnAppForCert2, methodTypeId, methodQuery, "WFCertSTATUS2", customSubVars) For Each row As DataRow In objDataSet.Tables("WFCertSTATUS2_SignOffGroups").Rows CertTable2.Rows.Add(row.Item("ProfileKey"), row.Item("ScenarioKey"), row.Item("TimeKey"), row.Item("SignOffState"), row.Item("UserName"), row.Item("TimeStamp")) Next End Using brapi.ErrorLog.LogMessage(si,"3") For Each wfRow As DataRow In WFTable.Rows Dim profileKey As Object = wfRow("ProfileKey") Dim certRows As DataRow() = CertTable2.Select("ProfileKey = '" & profileKey.ToString() & "'") For Each certRow As DataRow In certRows Dim newRow As DataRow = CombinedTable.NewRow() newRow("ProfileKey") = wfRow("ProfileKey") newRow("ProfileName") = wfRow("ProfileName") newRow("ScenarioName") = wfRow("ScenarioName") newRow("TimeName") = wfRow("TimeName") newRow("StatusText") = wfRow("StatusText") newRow("LastExecutedStepStatus") = wfRow("LastExecutedStepStatus") newRow("LastExecutedStepTimeUTC") = wfRow("LastExecutedStepTimeUTC") newRow("LastExecutedStepTimeEST") = wfRow("LastExecutedStepTimeEST") newRow("SignOffState") = certRow("SignOffState") newRow("UserName") = certRow("UserName") newRow("TimeStamp") = certRow("TimeStamp") CombinedTable.Rows.Add(newRow) Next Next brapi.ErrorLog.LogMessage(si,"4") Return CombinedTable End Function End Class End NamespaceShivaPrasad3 days agoNew Contributor III48Views0likes4Comments
Getting Started
Learn more about the OneStream Community with the links below.
Featured Content
Coming Soon: Getting Started with OneStream & Introduction to OneStream Courses
3 MIN READ Global Education Services will release the new Introduction to OneStream and OneStream Essentials: Getting Started with OneStream courses on July 9, 2025. Getting Started with OneStream has been ou...48Views0likes0Comments