Discuss formulas and business rules for your application.
Recently active
Business Rule
Hi everyone, Thanks in advance for helping. I am new to tree views and trying to get a simple hierarchy (from the account dimension) to show as a tree view. Part of the structure is shown in the screenshot below: I'm using the following Dashboard Data Set Business Rule that I run using a data adapter linked to my tree view: If args.DataSetName.XFEqualsIgnoreCase("TreeView") 'Declare the account dimPK Dim DimPk As DimPk = BRApi.Finance.Dim.GetDimPk(si, "actAccount") 'Declare the parent ID + member Dim parentMbrId As Integer = BRApi.Finance.Members.GetMemberId(si, dimTypeId.Account, "CF_000000") Dim parentMbr As Member = BRApi.Finance.Members.GetMember(si, dimTypeId.Account, parentMbrId) 'Declare the child list of the parent Dim childList As List(Of Member) = BRApi.Finance.Members.GetChildren(si, DimPk, ParentMbrId) 'Dim the new XFTreeItem List + properties Dim treeChildren As New List(Of XFTreeItem) Dim textColour As String = XFColors.Black.Name Dim imageSource As String = X
Hi, All Any insights or suggestions on how to resolve these obsolete functions after update (we are currently 7.4.2) would be greatly appreciated. Dashboard Extender: Public Overloads Function GetBusinessRules(si As SessionInfo, brType As BusinessRuleType) As List(Of BusinessRuleSummaryInfo)' is obsolete: 'This is a temporary function used by Marketplace Solutions for backwards compatibility with old XF versions. Please change your code to use supported functionality.'. Public Shared Overloads Sub SetCultureInfoForUserToThread(si As SessionInfo, thread As Thread)' is obsolete: 'This is a temporary function used by Marketplace Solutions for backwards compatibility with old XF versions. Please change your code to use supported functionality.'. Connector: Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated. Thank you in advance!
Can anyone share brapi command to fetch the Workflow's Hierarchy Level in the Business Rule?
Hi, I'm curious to find out how I can trigger a calculation for any consolidation member that requires a parent reference, such as OwnerPostAdj, through a data management step using member filters. I just want to trigger a fast calc for all entities for this consolidation member to push a value and get instant feedback to the user in a dashboard, I don't actually want to aggregate/consolidate to the top. I can run it for a specific entity with reference to its parent but I don't understand how I'm supposed to input it here if I want to run it for each valid entity-parent intersection. Looping and executing it multiple times is not an option. See below for what I want to accomplish.
I have a data adapter that calls a BR that calls one of the IC methods (I thinned it down here) but what I run the data adapter I get the error that the datatable already belongs to another dataset. Any help on what that means and how to resolve? Public Shared Function IntercompanyReportBudget(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardDataSetArgs) As DataTableDim Threshold As Integer = args.NameValuePairs.XFGetValue("Threshold")Dim dtInterCoBud As New DataTableUsing dbConnApp As DbConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si)Dim interCoMethodQuery As String = "{|WFProfile|}{|WFScenario|}{|WFTime|}{}{C#USD}{V#YTD}{}{" & Threshold & "}{}{}{}{}"dtInterCoBud = BRApi.Database.ExecuteMethodCommand(dbConnApp, XFCommandMethodTypeId.ICMatchingForWorkflowUnitMultiPlug, interCoMethodQuery, "ICBud", Nothing).Tables(0) End UsingReturn dtInterCoBudEnd Function
A = 50% allocated to B , 40% to C, -90% to A What will be the best approach to allocate data between entities? Also, If you have a code snippet for data buffer that will be helpful. 1. Data Buffer 2. ADC
I am writing a member formula/dynamic BR where i have to get 'YTD" like cumulative members but instead get it from month 7 onwards i.e. if i want to get cumulative data from month 7 onwards, i wrote a very rudimentary code to do this and it works but checking if we have something better. Please let me know if there is something better: If api.Pov.Cube.Name = "Ledger" Then If (api.Cons.IsCurrency()) Then Dim fiscalYearShort As Int16 = CInt(Left(api.Pov.Time.Name, 4)) Dim periodLabel As String = api.Pov.Time.Name Dim periodIdentifier As Integer = api.Pov.Time.MemberId Dim periodSequence As Integer = api.Time.GetPeriodNumFromId(periodIdentifier) Dim filterString As String = "V#Periodic:A#IncStmt:F#EndBal:O#Top:U1#TotCC:U2#TotRegion:U3#TotDept:U4#TotLevel:U5#Reporting" Dim dataCellResult As DataCell = api.Data.GetDataCell(filterString) Dim cumulativeAmount As Decimal = Nothing If fiscalYearShort < 2023 Then
HI All, I'm running into an issue when running a Finance Business Rule, essentially this rule creates a data buffer and loops through where U8 member is not 0. From here we have a SQL statement where we're inserting these dimensions and the Business Unit which is derived from the Workflow Text field. Whenever a end user presses the button it should trigger this DM job and Business Rule to delete an existing records for this BU in the table and then add all the records again. The issue is however that in this case that we're expecting to see 112 records but only seeing around 40. I wrote to the error log and see all the row records of 112, however when inserting into the table we only get around 40, sometimes even less. From what I compared looking at all 112 records vs the 40 in the table, I noticed that from the error most of the records that are the looping through last are being added to the table, but only a few from the beginning. It's almost as if these records are be
Hello -- I'm trying to isolate a data point sitting at an Account parent with USD as the currency, then copy that value to a different account. Then, I want to use the second account to seed another in different scenario and account structure, where it will NOT translate (plan to use flow dimension to accomplish that part). For the first part of this, I'm trying to hold the USD value by inserting into another account. api.Data.Calculate("A#BPA_InvestSubs_USD:C#USD = A#InvestmentSubsidiaries:C#USD") Is something like this possible? I'm getting an error about invalid destination when I attempt to consolidate. Is an Eval needed instead? What might one look like for this if so? I'm new to OneStream - appreciate any tips and thoughts. Thank you!
Dear community, I am working on some Data Buffer and I noticed something : As you can see (if it's not too small ...), the Data Buffer is not taking into consideration the data units (that makes sense) and not the View dimension either. However, the data units will have the dimensions : Cube, Entity, Parent, Consolidation, Time, and Scenario. --> Hence, where is the "View" member in all that ? Am I missing something ? Regards,
Dear Community, For an allocation purpose, I would like to load data currently stored in a data table, into a cube. But to speed up the process, I would like to ignore Validation and Transformation steps. Is there a way to do so ? Regards,
Hi all Can I copy a journal using a business rule? Cheers
I want to round the values for the Revenue account for all UD2 members to whole numbers. Do I have to get the values, round them and write the value, or is there a simpler method?
Dear Team, Does anyone know what's the updated version of function SetCultureInfoForUserToThread? I thought that like with other functions I just can see it's new version using intellisense, however nothing appears here. Many thanks!
I am Running a Dashboard Data set rule. The process is a bit longer. For Each EntMem As MemberInfo In BRApi.Finance.Members.GetMembersUsingFilter(si, Brapi.Finance.Dim.GetDimPk(si, "DimName"), "E#Top.Base", True) For Each Parent As Member In BRApi.Finance.Members.GetParents(si, Brapi.Finance.Dim.GetDimPk(si, "DimName"), EntMem.Member.MemberId, True) If EntParentCheck.Contains(Parent.Name) Then Dim customSubstVars As New Dictionary(Of String, String) customSubstVars.Add("dmTime", Time) customSubstVars.Add("dmScenario", Scenario) customSubstVars.Add("dmEntity", Entmem.Member.Name) customSubstVars.Add("dmParent", Parent.Name) customSubstVars.Add("FileName", FileName) BRApi.Utilities.StartDataMgmtSequence(si, "Export Cube Data", customSubstVars) End If Next Next ERROR: Not enough quota is available to process this command. I think it is generally with long running jobs on OS Dashboards?
I need to copy data, including adj data, from one fiscal year cube to another calendar-based cube. The DM Job I tried to use does not work with ADJ data as the journals cross entities that don't exist in the target cube. The rule also needs to include variables for entity, account. and scenario remapping. Any sample provided is appreciated.
Hi there!I have a Workspace called WK1I have a Dashboard called DB1I have a Component called "George" (coz, why not?)How can I programmatically add George to the DB1 dashboard in WK1 workspace?Note that i already have other components assigned to this DB1.Thanks
Hi team! I'm utilizing the "process cube" function within a JournalsEventHandler. However, whenever the event occurs after the journal is unposted, the process cube fails to execute; it gets stuck and never completes. if the event occurs after the journal is posted, it functions correctly. Not sure what is causing it. here is the piece of code: Else If (args.IsBeforeEvent = False) And _ (args.OperationName.Equals(BREventOperationType.Journals.PostJournal) Or _ args.OperationName.Equals(BREventOperationType.Journals.UnpostJournal)) BRApi.DataQuality.Process.ExecuteProcessCube(si, _ BRApi.Workflow.General.GetWorkflowUnitClusterPk(si, _ EntityWFName, WFScenario, WFTime), _ StepClassificationTypes.ProcessCube, _ False) End If Thanks.
Hi Everyone, I am trying to allocate forecast data to the gl's based on the last year actuals data. The allocation is not happening when the forecast scenario setting "clear calculated data during calc" is set to TRUE. If I set it as FALSE, the allocation is happening. This data is copied using the setdatacell from the allocated value to the target script in which origin member is O#forms. It seems the value is not written to the origin member if I set the scenario setting to true. can someone explain me what is happening? Also, I tried adding the below calculate and clear code. api.data.calculate($"{script} = 0 * {script}") api.data.clearcalculateddata(script) It worked until I did not change any data, once I changed the data, the allocation did not happen again. Thanks, Jeevan
The Function in my rule : Brapi.Utilities.ExecuteDatamanagementSequence run the sequence in Background and allows me to do further operation in BR even before the step is complete.Is this the expected behavior?How do we avoid this. To run further operation until the complete sequence is complete?
Hi team, We are encountering an error when running a button that involves a Data Management (DM) step to a Business Rule (BR). The error message is as follows: "Summary: Error processing Data Management Step 'SAVE_DRIVERS'. Unable to execute Business Rule 'PLP_HLFPLPCopyAdminDriver'. Error processing script 'S#[Forecast 2024M4]:O#Forms:A#SalaryWorkdays= S#ForecastInput:O#Forms:A#SalaryWorkdays'." This process is run on a monthly basis, and this is the first time we have encountered this error. We have also tested it in our test environment during the same period and did not encounter any errors. We are unsure of what may be causing this issue and would appreciate any assistance in resolving it.This is the BR: Imports System Imports System.Data Imports System.Data.Common Imports System.IO Imports System.Collections.Generic Imports System.Globalization Imports System.Linq Imports Microsoft.VisualBasic Imports System.Windows.Forms Imports OneStream.Shared.Common Imports OneStream.Shared.W
We use Standard (Calc On The Fly Share and Hierarchy Elimination). What type of Rule should we leverage to reclass balances from one account to another during consolidation. For illustration purposes, the below is what we are looking at:
Code: Dim TimeName As String = "2023M1" Dim dt_NIk As DataTable = BRApi.Import.Data.FdxExecuteDataUnit(si,"Consol", "E#KY00_Total.Base","OwnerPostAdj",Brapi.Finance.Scenario.GetScenarioType(si,si.WorkflowClusterPk.ScenarioKey).Id,"S#Actual_Hist","T#" & TimeName,"YTD",True,"Flow = 'EndBalanceLoad'",10,False) Error: Error processing data. The item was not found. Entity, Parent, -1.Is there any alternate way to retrieve Data. It works on USD, Local
Dear Community, I have a requirement to generate a pop-up or warning message during the Data import process based on a specific condition. If the condition is met, the pop-up should inform the user, but the import process should continue without causing a hard fail. Is this achievable ? Can anyone please suggest a method to achieve this. Thank you.
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.