Discuss formulas and business rules for your application.
Recently active
Dear community, I was reading the documentation about cube view services, which implies that the dynamic cube views that are accessible by Dynamic Cube View Services need to be in the same workspace. Do you know if this is mandatory to have dynamic cube views in the same workspace (as it seems a like a real issue in production) or is there a workaround to address dynamic cube views that are outside of the assembly's workspace ? Many thanks,
Hi all - We have a Labor Allocation Process that runs manually which we have seen some silent failures occur through our Api Calculate or Api Clear data. I am attempting to go through our business rules and add more complex logging to get a better understanding where/when these things occur. Lets say I had this code block.. Dim sourceDims As String = "U2#None:U3#None:O#Import:I#None:F#None:V#Periodic:C#USD" Dim destinationDims As String = "U2#None:U3#None:O#Import:I#None:F#None:V#Periodic:C#USD" If args.CustomCalculateArgs.FunctionName.XFEqualsIgnoreCase("Copy3rdPartyImportData") Then 'Only run for the Base Entities and local currency If (Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyForEntity()) 'Get the current scenario Name Dim curScenarioName As String = api.Pov.Scenario.Name If curScenarioName = "Rpt_Mar" Then 'Clear previously calculated data api.Data.ClearCalculatedData(True, True, True, True,"A#3PFB_Capital","O#Import","I#None","V#Pe
Hi OS Community,I’m an EPM Consultant working mainly on Financial Consolidation, and I would appreciate some guidance on a scenario‑specific consolidation design question.Currently, our Actuals consolidation process is working correctly and uses the standard XFW_FSK_Accounts lookup table to drive account mapping during consolidation.This includes full account‑level detail, which is required for statutory reporting and analysis.Now we need to enable consolidation for the Budget scenario, the rules for Budget should be the same as Actual , but with a different level of granularity:The Budget scenario is loaded at a higher‑level Account hierarchyMain QuestionWhat is the recommended way to use a different account mapping lookup table for Budget while keeping the existing XFW_FSK_Accounts logic for Actuals?More specifically:Can we assign or reference a different account lookup table (e.g. XFW_FSK_Accounts_Budget) within the consolidation Business Rules, based on the Scenario?Is it best
Hello, I'm attempting to create an orders (500055) account, calculated using existing Backlog (500054) and Sales (100020) Accounts. (Current Month Backlog - Prior Month Backlog + Current Month Sales) When I run this calculation in the forecast scenario, February - December work as expected, but there is an issue with January that I can't pinpoint. Any ideas where I've gone wrong? Thank you in advance, Justin Trad If ((Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyForEntity)) And api.Time.GetPeriodNumFromId(api.Pov.Time.MemberID) = 1 Then api.data.calculate("A#500055:T#PovYearM1:O#import:U1#none:U2#none:U5#none:U6#none = (A#500054:T#PovYearM1:O#top:U1#top:U2#top:U5#top:U6#top - A#500054:T#PovPriorYearM12:O#top:U1#top:U2#top:U5#top:U6#top) + A#100020:T#PovYearM1:O#top:U1#top:U2#top:U5#top:U6#top") Else If ((Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyForEntity)) Then
I am working with a TableView and there seems to be a limit of 100 rows that can be added. Even if I prompt for the number of rows to add , say for example 150, when I add 150 rows in Excel and submit only 100 will actually be inserted. Does anyone know if there is a limit to the number of rows that will actually be added no matter the value you pass to the NumberOfEmptyRowsToAdd property?
Hi everyone, I would like to round the value for a calculation, I try wit this api.Data.Calculate("A#P_EBPPrct:O#Import:U1#D0000:U2#P0000:U3#CORP_ADJ:U4#PJ00000 = Round(Divide(A#433100, A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U1#ALL_DEPARTMENTS:U2#PROMO:U3#CORP_RPT:U4#ALL_PROJECTS))") or this api.Data.Calculate("A#P_EBPPrct:O#Import:U1#D0000:U2#P0000:U3#CORP_ADJ:U4#PJ00000 = Divide(A#433100, A#411000:E#" & strEntTx3 & ":C#Local:O#Top:U1#ALL_DEPARTMENTS:U2#PROMO:U3#CORP_RPT:U4#ALL_PROJECTS)",AddressOf OnEvalDataBuffer) Private Sub OnEvalDataBuffer(ByVal api As FinanceRulesApi, ByVal evalName As String, ByVal eventArgs As EvalDataBufferEventArgs) Dim resultCells As New Dictionary(Of DataBufferCellPk, DataBufferCell) For Each sourceCell As DataBufferCell In eventArgs.DataBuffer1.DataBufferCells.Values sourceCell.CellAmount = math.round(sourceCell.CellAmount) Next eventArgs.DataBufferResult.DataBufferCells = eventArgs.DataBuffer1.DataB
Does anyone know how to get the member description in the user's culture code?
Does anyone know how Used (GB) and Unused is derived? Maybe I'm wrong, going to assume it's looking at total_size, total_used, reserved_pages, ect.. Trying to figure out the math, and questioning if it's correct. This is what I have so far, any feedback is appreciated! Dim sql As String = "SELECT " & " DB_NAME() AS DatabaseName, " & " CAST(f.total_size * 8.0 / 1048576 AS DECIMAL(10,2)) AS TotalSizeGB, " & " CAST(f.total_used * 8.0 / 1048576 AS DECIMAL(10,2)) &nb
Hello all, After an OFC upgrade, seeing the following error message trying to pull a time based attribute audit report. Has anyone run into a similar message? In comparing to another version of PROD, the earlier version is written in VB.Net, and the upgrade in C#; making comparison difficult.Unable to execute Business Rule 'RCM_HelperQueries'.Object reference not set to an instance of an object.User Interface Stack Trace: at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(MethodInfo targetMethod, Object[] args) at generatedProxy_5.StartGetDashboardDisplayInfoCompressed(SessionInfo, LoadDashboardInfo, Dictionary`2, Dictionary`2) at OneStream.Client.Ap
Hi all,I'm using ImpactCalcStatus to impact an entity based on another entity that has the Sibling consolidation pass set to 2. I can see the status changing during processing, but at the end of the consolidation, it remains CA/CN. Only after running it again does the status change to OK. What am I missing here?api.CalcStatus.ImpactCalcStatus(cubeId, Children.MemberId, Parent.MemberId, consId, scenarioId, timeId);Thanks.
Hello everyone, Thanks to this discussion: https://community.onestreamsoftware.com/discussions/WorkflowDI/forms-by-entity/13417 I can now show or hide the input cube views based on whether or not the group entity has been released, as stored in Entity Text6. However, by doing this, I lose the ability to display cube views only for the quarter, half-year or full year. Currently, I display the cube views every month if the entity is present in the group, so this does not apply to cube views that should be displayed quarterly. I would therefore like to retrieve the name of the form displaying each data entry cube view, so that I can define in the Business Rules whether each form should be displayed monthly, quarterly, half-yearly or only in December. This would allow me to use the settings provided natively by OneStream, which I have previously bypassed. But I am unable to do so. Is this feasible? The ultimate aim is to prevent accidental data entry into workflows that should no longer b
Hi all, I am using the Business Rule to perform the user access provisioning using BRApi for security management. And used this BR in DAM job, added the DM to a task scheduler job to run it. All are working fine, but in the DASHBOARD -->NAVIGATION CENTER--> SECURITY AUDIT REPORTS --> USER CHANGE AUDIT. I cannot see the change line appearing in this report, executed by task scheduled for the DM (run by Business Rule.). Is there a way to enable the time in this report. apart from this i see the audit data and time in TOTAL USERS, USER LIST reports. --------------------------------------------------------another important point i noted was ,those new user whoever i provisioned through the BR are uanable to authenticate. but when i make a small change like space or some modification in the user parameter save it. then undo the change and save it. they are able to authenticate the applciation.
hello Team, good day; we have 4 alternate hierarchies for Entity dimension, the Application is for Consolidation, BS & IC, having the Balance sheet accounts balancing the amounts, the main hierarcy is balanced (means 0 asset, liability & equity), for all the rest aer unbalanced and the reazon could be the elimination accounts because these are not summing properly to 1st and 2nd level, (main parent and ancestor). the consolidation rule is custom and runing, maybe the conso properties are bad. Does anyone knows how to solve the unbalancing for all the Entity hierarchies? thakns in advance and Kind Regards
Hi, This time of year we have the common maintenance point regarding needing to update task scheduler start times to account for daylight savings. It is expected for the platform to not automatically update the task start times to account for daylight savings, thus, this becomes a maintenance point for those companies in states/countries that utilize daylight savings. Until this feature perhaps one day becomes available in the platform, we have a custom solution that will make the maintenance point of this easier for OS administrators. You can upload the two files attached in the zip file which will result in uploading an Extender business rule titled "Update_TaskScheduler_StartTimes" and a Data Management job called "Update Task Start Time Daylight Savings". To use the solution, navigate to the Data Mgmt page and look for the group titled "Task Scheduler Maintenance". Here you will find the Data Mgmt sequence and step you uploaded. Navigate to the DM step and utilize the H
Hi everyone,I’m currently building a OneStream application for a budgeting process and I’m facing a modeling challenge with account aggregation.The situation is the following:We have the same source account (for example 600000) across multiple entities. However, depending on the entity, the amount should roll up to different parent accounts in the reporting structure.Example:If Entity A loads Account 600000 = 1000, the amount should roll up to ParentA.If Entity B loads Account 600000 = 1000, the amount should roll up to ParentB.The key requirement is that I would like to keep only one account member (600000) in the Account dimension, without creating multiple target accounts such as 600000_A or 600000_B.Since the Account hierarchy in OneStream is static, I’m trying to understand what the best design approach would be to handle this type of entity-dependent aggregation.Has anyone implemented a similar requirement?What would be the recommended way to model this in OneStream while keeping
Hi All, i am new to OneStream, i tried creating BR for Security automation. below is my entire code in OS-BR. Imports SystemImports System.Collections.GenericImports System.DataImports System.Data.CommonImports System.GlobalizationImports System.IOImports System.LinqImports Microsoft.VisualBasicImports OneStream.Finance.DatabaseImports OneStream.Finance.EngineImports OneStream.Shared.CommonImports OneStream.Shared.DatabaseImports OneStream.Shared.EngineImports OneStream.Shared.WcfImports OneStream.Stage.DatabaseImports OneStream.Stage.Engine Namespace OneStream.BusinessRule.Finance.BR_UserManagement Public Class SecurityGroupHelper Public Sub ShowQAGroups(ByVal si As SessionInfo, ByVal api As FinanceRulesApi) Try ' Get all security groups using the API passed to the function Dim allGroups As Group
I am trying to write a BR to update the Global Time within the OS application. I see API function to get globaltime (BRApi.Workflow.General.GetGlobalTime). However, I don't see one for setting/updating global time. Is there a API to update the Global Time? I even searched the tables in the Database to see if I can manually update the record within a table, but didn't come across the table that contains the Global Time. Is there a way to update the Global time based on the system time? Thanks,
Good morning OneStream folks. I was looking for an example of how to dynamically pull the FX rate for an entity based on its current parent. We currently have a DynamicCalc account that assumes that all parents are USD and therefore the rate returned by the account is the USD translation rate. For example, the child is GBP and has a CAD parent, but the formula returns GBP-->USD. I was able to get a DynamicCalc formula that works, but I have to make some additions in my QuickView or CubeView to get it work completely. The account I created in this case is called ParentFX and the logic is below: In order to get the ParentFX account to return the correct value, I have to write my quickview logic as: A#ParentFX:C#Translated:Name(Parent FX). Which is fine, but I would also like to use that combo in a getdatacell calculation, and OneStream doesn't seem to like that. I'd like to be able to pull the A#ParentFX account with it using the Entity
Can someone check if there's any mistake in the below 2 lines. I am unable to execute the BR Dim sourceBuff As DataBufferDim srcED As String = args.CustomCalculateArgs.NameValuePairs("sourceEffectiveDate")Dim selectedScenario = args.CustomCalculateArgs.NameValuePairs("selectedScenario")Dim dmTime = api.Pov.Time.NameDim account = args.CustomCalculateArgs.NameValuePairs("account") sourceBuff = api.Data.GetDataBufferUsingFormula($"FilterMembers(T#{dmTime}:S#{selectedScenario}:U4#Approved_Status:U6#Total_Audit:U7#{srcED}, [A#{account}.Base])")
I'm trying to call a helper BR that I wrote to pull in two variables to denote our environment, but I'm getting an error message saying the extender business rule.MainClass is undefined. Background: Our GL has three environments, Dev, Prj (test) and PRD. As we promoted projects up in OneStream, I have to edit the BRs to reference the different environments. It's a pain when it comes to the SQL because the environment is part of the tableName.fieldName. Goal: to have one helper BR that has the environment variables in it and all other BRs reference this rule so I no longer need to edit them from environment to environment. The helper rule in DEV would reference the DEV tables, the helper in PRD would reference the production tables, etc. 'test code to pull in environment variables from a Helper 03-05-2026 'Define reference to business rule Dim JDE_EnvironmentHelper As New OneStream.BusinessRule.Extender.JDE_EnvironmentHelper.MainClass '<
Hello,I have a question about aligning dimensions of a DataBuffer. I have an unallocated balance that is stored at a specific UD2 base member. This is shown in the log below:The goal is to multiply this amount (82.1097072) by a percentage at the same Account:UD1 combination, but the rate is stored at a U2#None, not at the same U2 as the unallocated percentage:The goal is for these data buffers to multiply and land at the specific U2# from the unallocated amount. (82.106*1.5219) However, since they are at different UD2s, they aren't going to multiply. Given that I need the specific UD2 detail, but the rates aren't stored at the specific UD2s, are there ways to manipulate the databuffer multiplication so this will occur at the detailed UD2?Dim Buffer As DataBuffer = RateBuffer * UnallocatedBufferThank you!
Hello, I wanted to post this here since this came up at the Wave Conference in Vegas last week. Below is a snippet you can leverage to pull data from another application via a UD8 dynamic calc. This approach uses the CreateSessionInfoForAnotherApp BRApi to create a session in another application with the current user's credentials which ultimately enables you to execute any BRApi function (such as the GetDataCellUsingMemberScript BRApi) against another application in the same environment. This technique can be especially useful when looking to report on data that lives in two applications (in the same environment) in cube views and quick views. 'define the other application name you wish to connect to - this must be an app that lives within the same environment 'the user must also have access to the application to authenticate to it Dim otherAppName As String = "SomeOtherApp" 'create the session info to the other app and store it globally in mem
Hi All, I am trying to automate addition of FX Rate Types on a button click with some logic. Inserting values into FxRateType and AuditFxRateType using the below code snippet ------------------------------------ Public Sub AddCurrentFXRate(ByVal si As SessionInfo, ByVal api As Object, ByVal sCurrentOpsName As String, ByVal dt As DataTable)Dim dbConnApp As DBConnInfo = BRAPi.Database.CreateApplicationDbConnInfo(si)TryDim sSQL As New Text.StringBuilderDim sFXRateTypeGuid As String = Guid.NewGuid.ToStringsSQL.AppendLine("INSERT INTO FxRateType(UniqueID, Name, Description,AccessGroupUniqueID, MaintenanceGroupUniqueID, XmlData)VALUES ('" & sFXRateTypeGuid & "', '" & sCurrentOpsName & "', '" & sCurrentOpsName & "','" & dt.Rows(0)("AccessGroupUniqueID").ToString & "', '" & dt.Rows(0)("MaintenanceGroupUniqueID").ToString & "', ' ')")sSQL.AppendLine("INSERT INTO AuditFxRateType(AuditGuid, AuditSeqId, AuditUser,AuditTime, AuditInsUpdateDel,
Hi - Has anyone created entity readdatagroup using the below function Dim objGroup As Group = Group.CreateEntityReadDataGroup() Any help would be appreciated
I am trying to return a SQL query in a Data table inside the business rule. But I am Getting the issue: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. I tried to remove the constraint. Maybe I am doing it incorrectly or it is not possible. Dim sql As New Text.StringBuilder sql.AppendLine("Select COALESCE(S.RegisterID,O.RegisterID, W.RegisterID) RegisterID, ") sql.AppendLine("COALESCE(S.RegisterIDInstance,O.RegisterIDInstance,W.RegisterIDInstance) RegisterIDInstance, ") sql.AppendLine("COALESCE(S.WFProfileName,O.WFProfileName,W.WFProfileName) WFProfileName, ") sql.AppendLine("COALESCE(S.WFScenarioName,O.WFScenarioName,W.WFScenarioName) WFScenarioName, ") '''''''''QUERY Continues as below SQL CODE. Using dbConnApp As DbConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si) Dim ds As New DataSet ds.Tables.Clear() ds.EnforceConstraints = False Dim dt As DataTable = ds.Tables.Add() ' error c
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.