Discuss formulas and business rules for your application.
Recently active
Hi,I ran into an issue that a data buffer rule does not work in a workspace assembly but does work in the Business Rules area. The data buffer rule is the one found in this forum topic and is relatively simple. See link.Question: Is there an option to clear non-calculated data in a “bulk” (as known from hs.clear) other than looping through the data buffer and use “SetDataCell” (which has a higher performance impact)? The “ClearCalculatedData“ is not impacting input/imported data – right? | OneStream CommunityI have this rule in an existing custom calculate rule in the assembly and the rule fails to get the source data buffer. I take this same rule and include it in a new Business Rule and it runs fine.Rules that work in the business rules should work in assemblies also.
Hello, Trying to build a business rule to send an email once a button is pressed. The business rule that I'm trying to use is encrypted and I cannot get into it so I was trying to figure out a way to recall that business rule to check if a Lease change status to submitted. I read something about Referenced Assemblies, but I'm not fully sure if that's right or what I even code it as in my current business rule. This is the BR I'm trying to call into my current rule Thanks, Will
Hello OneStreamers,Good day!Could you please guide me on how to retrieve the Display Member Group for a UD dimension member?I am currently looping through UD1 members using a GetMembersUsingFilter function, and I would like to capture the Display Member Group associated with each UD member.Any guidance or suggestions would be greatly appreciated.Thank you in advance!
Hello, With the new changes to the Stage and Transform tables in v9.x there has been a change to the tables with a new RuleIdentityId identity field and a parallel change to the TransformRuleInfo object. Is there any documentation or best practices for how to use the API to handle this new parameter and ensure adding rules dynamically via BR adheres to the new identity field requirements?
When I am in a Cube View Extender BR, how can I access the name of the cube view itself? Not the Title, Page Caption, etc., but the actual name of the Cube View. Thank you!
Hello, I'm trying to pull in the certify comment section when a user clicks on the "Set Certification Status" button. We currently are using the Workflow Event Helper to send the email when the certification is set to In-Process or Certified. Dim oEntityList As List(Of WorkflowProfileEntityInfo) = BRApi.Workflow.Metadata.GetProfileEntities(si, oWorkflowInfo.WfUnitPk.ProfileKey) emailTo = BRApi.Finance.Entity.Text(si, oEntityList(0).EntityMemberID, 8, False, False) emailBody = $"[{si.AppName}] - Status Of {sWFProfileName} WF | {sWFScenario} Scenario For {sMonth} {iYear} was changed To {If(oWorkflowInfo.IsCertified, "Certified", "InProcess")} By {si.UserName}" emailSubject = $"FM Task: {sWFProfileName} Certification Status has been changed to {If(oWorkflowInfo.IsCertified, "Certified", "InProcess")}" FBR_ConnectorLibrary.emailSend(si, emailTo, emailBody, emailSubject, emailBody) Thanks, Will
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 '<
We're moving most of the Business Rules to Workspaces Assemblies under PV 8.4.- We have several Extensibility Rules that are run by multiple Data Management (DM) Jobs like you.- Hence, we included separate DM Step Services (DMSS) in the same Service Factory (SF).- The result of this SF setup was chaos.- We saw that launching one DM Job by a given DMSS in the SF will also launch other DM Jobs by their DMSS in the SF. We couldn't find enough practical advice on the SF/DMSS setups in the Design Guide to overcome this chaos.Pls share how to set up Data Management Step Services in a Service Factory to launch one Extensibility Rule/DM Job at a time. TY.
Hi, Did anyone implement event-based scheduler through workflow event handler. We have a business rule to extract Chart of Accounts for a Parent Member. This extract needs to be done only after the period close. We need to implement an event-based scheduler where the extract should be done after the period close automatically.
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
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 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
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])")
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.