Discuss formulas and business rules for your application.
Recently active
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.IsLoc
Hello, I would be very grateful if someone could offer some direction on fixing the issue of dynamically generated parameters disappearing on a refresh action. When the dashboard initially loads, all of the dynamic parameters render as expect. I have an extender service setting the count of parameters to 2 for each param type (Debits,Credits). These work off two stored member list parameters, par_DebitList and par_CreditList.When the dashboard is refreshed, I lose the _dynamic_2 even though the parameter count is still 2. Public Function GetDynamicParametersForDynamicComponent( _ ByVal si As SessionInfo, ByVal api As IWsasDynamicDashboardsApiV800, ByVal workspace As DashboardWorkspace, ByVal maintUnit As DashboardMaintUnit, ByVal dynamicComponentEx As WsDynamicComponentEx, ByVal customSubstVarsAlreadyResolved As Dictionary(Of String, String)) _ As WsDynamicParameterCollection Implements IWsasDynamicDashboardsV800.GetDynamicParametersForDynamic
Hi I am trying to understand the event handlers to see if we can leverage them to improve user experience and put some controls around recurring issues. But the documentation is not helping. I think I figured the events in general and when they execute but can someone please explain the purpose of "Is Before Event", "Can Cancel", and "args.Inputs(x)" Thank you in advance, PM
Hi, I have a requirement from business that, want to restrict the roll-up in the entity dimension. for ex: i have Top entity, and all the members underneath are rolling up to Top, but i want to restrict one entity (ex: entity A) not to roll up for particular users which are part of group A.So, when Group A users retrieve the data at Top entity, he/she should see the total number except restricted entity(entity A) and all other can see the total numbers including entity A at Top. is there any way to restrict the roll-ups based on security.Thanks in Advance.any suggestions please, Appreciate your help. ThanksSatish P
Hi there,We have one Business Rule that reorganize some security groups adding/removing Parent Groups based on a certain hierarchy, however, we are facing the issue that when the user executing this Business Rule belongs to a group that is being reorganized, we get the following error message:"Security Access Error. You cannot add/remove yourself or a group that you belong to or an Administrators group to/from the current group."That error is perfectly reasonable, but we need to find a way to bypass that.In other softwares exists the possibility to execute a Job as a different user (usually non-interactive) which has the required security configuration to ensure the process is executed successfully.How can we achive that same result in OneStream?Thank you!Bests,
Hello, Currently we are working on a forecasting model, and we would like to be able to use the spreading process inherent in OS. Is there away to use conditional formatting or an XFBR to set a column of values to be flagged automatically based on the comparison between a parameter and the column member? Specifically, I am looking to have the first or first two periods of the quarter set as flagged so they can be excluded from the proportional distribution based on when the users are completing this forecast. Thanks,
Good afternoon, I'm trying to pass through formatting from one cube view to another. The 2nd cube view is a dialog pop-up in a dashboard triggered by a selection changed event. So far I've been able to determine destination formatting based on Cell POV dimension members of the cell "clicked" but I'm hitting a snag on dynamically calculated cells (column is Actual versus Budget % for example). The Cell POV dimension members are the same with the only difference being a "GetDataCell" at the end. I haven't figured out a way to retrieve what, if anything, is in the "calculation script" for a cell intersection. Or if there's a way to retrieve the row and column names for a cell intersection at the time of a click? Looking for any guidance possible. Thanks, Brandon
Hello, I'm writing a confirmation rule that is a specific few cells are blank or if these cells are not 0 that the confirmation rule passes. I got the 2nd part to work fine, but when the cells are blank I'm having an issue. Can someone help me with my code and what I might be missing or need to change? Dim EntityName As String = api.Pov.Entity.Name.ToString Dim WFYear As Integer = api.Time.GetYearFromId(api.Pov.Time.MemberId) ' Retrieve amounts for each account Dim AccountPPEICSaleAmount As Decimal = api.Data.GetDataCell("Cb#Consol:C#Local:S#Actual:V#Periodic:A#0710:F#PPE_ICSale:O#BeforeAdj:I#None:U1#00:U2#DEF:U3#L_UNA:U4#None:U5#None:U6#None:U7#USGAAP_FORM:U8#None").cellAmount Dim AccountADICSaleAmount As Decimal = api.Data.GetDataCell("Cb#Consol:C#Local:S#Actual:V#Periodic:A#0771:F#AD_ICSale:O#BeforeAdj:I#None:U1#00:U2#DEF:U3#L_UNA:U4#None:U5#None:U6#None:U7#USGAAP_FORM:U8#None").cellAmount Dim AccountPPEICProceedAmount As Decimal = api.Data.GetDataCell("Cb#Consol:C#
Hi everyone,Does anyone know if there's a specific method to be able to run Quickviews using a Business Rule? Trying to understand if OS is capable of doing something like that. Presumably, what I would like is to execute a dashboard that would allow me to see one, just seeking for some ideas on this topic.Thank you!
Hi, Without entering into the discussion of whether this is a best practice or not. During some HFM replacement, we have seen occasionally that request being raised. So, is it possible to prevent a force consolidation to run on locked entity / period whilst making it run for the unlocked ones ? Aymar
Hello, I have following two cubes in onestream: Volumes Detail All the cube dimensions are the same except for UD1. For volumes, UD1 cube dimension is VintageDim and for detail its FunctionTotal. I am trying to copy data from "Volumes" cube to "Detail" Cube through a Business Rule. I am running this business rule from Data Management Step. The rule runs perfectly but it doesn't copy the data. I don't get any error too. Please can someone help to understand the issue? Public Sub CopyData() Try 'Define the source and target information Dim sourceCube As String = "Volumes" Dim targetCube As String = "Detail" Dim sourceScenario As String = api.Pov.Scenario.Name '1. Pull data from the source cube (Volumes) 'Using a formula to capture the desired data unit Dim sourceDb As DataBuffer = api.Data.GetDataBufferUsingFormula($"Cb#{sourceCube}:S#{sourceScenario}:A#Product_Sales") '2. Convert the data buffer to match the target cube's d
Hi Is there any way to access system tables from third party tools like ex:Sailpoint etc to add/remove users or groups. Thank you in Advance, much appreciated. Thanks Satish P
Hi,I am calling a Business Rule (BR) in a Cube View using XFBR as follows:XFBR( BR_ParamHelper, FunctionName, WFname = |WFText2|, SelectEntity = |!WF_AssignedEntity!|, Time = |!Time!| )Inside the BR, I parse the year from Time to control flows:Dim wfYear As Integer = 0If args.NameValuePairs.ContainsKey("Time") Then Dim POVTime As String = args.NameValuePairs("Time") wfYear = CInt(Left(POVTime, 4))End IfIf wfYear >= 2026 Then ' Remove flows for specified entitiesElse ' Keep historical flowsEnd IfProblem:When I log POVTime or wfYear, it always shows 0001-01-01, so my logic for removing ENT/EXIT based on the year never triggers.What I have tried:Verified the Cube View POV is correctly set.Passed Time = |!Time!| from the Cube View XFBR call.Logged args.NameValuePairs("Time") — still returns 0001-01-01.Question:Is Time = |!Time!| the correct way to pass the POV period to a BR?Is there a difference between |!Time!| and |!POV!| or T
Is there a way to create a FXRateType from a Business rule?FXRate types (average rate, closing rate...) are used to set FX rates in addition to Time, source and destination currencies.In addition to default FXRate types, new ones can be added:Is it possible to create such FXRate types by business rule?Indeed, by business rule (with BRAPI.Finance.MemberAdmin.SaveMemberInfo), we can create a scenario, set parameters, set an existing FXRateType for P&L and for BS, but I've not found how to create a new FXRateType that could be used for this scenario.
I'm hoping someone can verify behavior I'm seeing when trying to copy files between folders in File Explorer. I'm able to move files between Application Database and Application Database folders, File Share to Application Database, but not Application Database to File Share (DataManagement / Subfolder). Is that expected behavior? At first I thought I had an issue with the Business Rule but now I'm starting to suspect that you cannot pass a file from Application Database to File Share? Thanks, Brandon
Is it possible to create rules in Visual Studio?
Hi all! I know there's a Business Rule - Updated audit report but it doesn't actually show the changes in the BR, just reports on whether a rule changed in a date range. Is there anything out-of-the-box that I'm missing? I know the database table shows the rule code every time it changes but it's annoying to copy/paste and find the differences, especially the way the database table shows/resizes with giant rows to accommodate the whole script. Any guidance will be helpful! Thanks!
I was running into issues clearing durable data prior to Clearing it so I calculated the data prior to the Clear statement so the data was "calculated", then ran the ClearCalculatedData stmt. It works fine for me, but I have admin access and it works fine for a select few users. But for the majority of users they receive the error "Error processing script: 'A#All = 0 * A#All". I can not easily test in Prod as my hands are tied as far as making security changes. In prod I have other users with the same set of security groups (just pointing to other entity WFs) and they do not receive the error. In our Dev environment I can set up a native user with the exact same security groups as a prod user that fails and I do not receive an error. As for it being an issue with data, I have an entity where 1 user can run it and another can not. And they have the same set of security groups. Does anyone have any thoughts on what is going on?I also th
Hello Fellow OneStream team - I have multiple csv file in a file share folder, using BRApi.Utilities.LoadCustomTableUsingDelimitedFile to do the job, but it's loading only single csv file into the custom table. Below is extender BR , not sure what am I missing in the For loop, guidance is appreciated. Namespace OneStream.BusinessRule.Extender.Load_Table_Data Public Class MainClass Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As ExtenderArgs) As Object Try Select Case args.FunctionType Case Is = ExtenderFunctionType.Unknown 'Select Load options Dim loadMethod As String = "Replace" '<-- Select file load method (Replace, Merge) Dim dbLocation As String = "App" '<-- Specify db type Dim tableName As String = "XFC_OStoSF_BudgetData"
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 Team,I am currently writing a connector business rule that connects an EDM system to retrieve a file, apply mapping logic, and process the resulting DataTable into ACM. I have successfully implemented the same integration code for several other connectors, all of which are functioning as intended. However, when I attempt to apply the same logic for the Account connector, I encounter the following error:"Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')" I have rewritten the rule twice but have not been able to resolve the issue. Do you have any insights into why this might be occurring?
Hello, We are trying to automate a simple allocation of specific corporate expense accounts. The accounts allocate to different business based on their contribution to total GP. I currently have two calculations: Account Dynamic Calc - BU GP / Total GP, giving the business GP% UD8 Dynamic Calc - GP% * Corporate Expense Account, giving the expense to be allocated to each BU I run into an issue when data is pulled as either QTD or YTD. As an example, if someone is to pull the data at 2025M3/QTD, it will calculate calculate a separate GP% for the QTD information and complete the calculation. This creates a discrepancy when looking at data monthly vs. quarterly. Instead, I would need it to add together months 1-3 for consistency. (See below table for reference) Is there a way to make a dynamic calculation calculate only at the monthly level and instead aggregate months for other view selections (QTD/YTD)? What is happenin
Hello,We are facing the following issue, we use the following xfbr to generate accounts in a cubeview rows and retrieve descriptions : XFBR(CCF_XFBR, GetCCFDrillDownWithDescription2,memberExp=[A#CashFlow_Gestion.TreeDescendantsInclusive], Time=|CVTime|).However, the Cube View where this XFBR is applied always displays the descriptions in the default format. The description does not adapt based on the user’s culture settings.How can we make the XFBR return descriptions that vary according to the user culture?For reference, here is the XFBR code :Public Function GetCCFDrillDownWithDescription2(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As String Try 'Get the Dim PK for Entity Dimension Dim accountDimPk As DimPk = BRApi.Finance.Dim.GetDimPk(si,args.SubstVarSourceInfo.WFAccountDim) Dim flowDimPk As DimPk = BRApi.Finance.Dim.GetDimPk(si,args.SubstVarSourceInfo.WFFlowDim) 'Dim memberListClass As New O
HI Team, We have created a stored calc and it is working fine at Base and parent entity level, but when we are running at Top entity level and my Time is 2028, at this i am getting below error. could not able to figure it. Can you please help us resolve the issue.
Hi Team, I have created a dashboard with Vertical Stake Panel option and attached multiple Cube view components. when i scroll left to right in the dashboard my CV row headers are scrolling. how to freeze them in the dashboard.
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.