Discuss formulas and business rules for your application.
Recently active
hi , Am getting mutiple values from the databuffer for the same intersection. Database has Status1 ,Value1 then up to ...Status 12 ,Value 12... I beleive that only the Staus 12 and Value 12 combination alone has to be used but am not sure how it can be pulled in the rule , others are the past values which are stored for that particular intersection..Based on this value further calculation of % on UD 8 needs to be made. Rule: Thanks
This may be a long shot but I was wondering if there was any kind of functionality to have a message appear if you leave a dashboard page/try to close out of it. The use case is that I have a dashboard that has a button that is hitting when a conference call happens and it updates security groups so certain users can't make updates during the call. I have another button the user SHOULD hit when the call is done and this will put the security back to what it was originally. If the user of the dashboard forgets to hit that other button at the end of the call then the security never changes back. Was hoping to give a pop up message or something that forces the user to hit that end call button so the security goes back to what it was.
I'm getting the message "'Function GetLiteralParameterValue(si As SessionInfo, isSystemLevel As Boolean, parameterName As String) As String' 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.'." Anyone know what object & method should I be using instead? strSomeString = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si,Nothing,"pm_SomeParameter")
What I have found is that using the BRApi.Finance.Members.GetMemberInfo or Metadata.GetMember calls with True for includeProperties or even the first call to BRApi.Finance.UD.Text(...) all incur an average of just over 2 seconds and we are looping through 27,000+ projects so 15 hours to check and update the text fields. It seems that it gets cached either in OneStream or the SQL server so a second call done in the update function is no additional cost. The Dimension Library object obviously does this a much faster way, maybe by specifying the individual properties wanted in one of the optional objects versus all properties? There has to be a faster way. When using the Dimension Library and setting Grid View's Settings to NOT display parent child relationships, you gain access to the Text# fields. You can update a lot of these at one time FAST. I have even updated a function I used to add calling the GetMembersUsingFilter with the option to include All properti
Is it possible to update the Application Security roles with in an extender Business rule? I want to be able to update the Modifydata role with the push of a button.
Guys, There is a requirement to reverse the signage of all Revenue Accounts, So we have a Code that gets all The Revenue Accounts and Multiplied it with ' -1' , And the data is getting Flipped . But when we try to Consolidate that flipped Data , It is getting Cleared . Also When We try to run The rule 2 or 3 times , then also the Data is Getting Cleared. Any idea why this is happening. This is the code that does the flipping :Dim accountDimName As String = "Financial_Statements" Dim mFilter As String = "A#[4.00.000.000].Base" Dim lstAccounts As List(Of MemberInfo) = BRApi.Finance.Metadata.GetMembersUsingFilter(si, accountDimName, mFilter, False) 'filter on revenue accounts Dim lstRevenueAccounts As List(Of MemberInfo) = lstAccounts.Where(Function(x) BRApi.Finance.Account.GetAccountType(si, x.Member.MemberId).Equals(AccountType.Revenue)).ToList() For Each MemberInfo As MemberInfo In lstRevenueAccounts Dim nMemberId As Integer = BRApi.Finance.Memb
Hello, I'm in the early stages of building a long-term forecasting cube in our application. The initial requirement is that the business can load volumes, SSP, and product cost by product type to a single 'memo' entity, market, and customer, and then the model will allocate this across base members based on some % drivers. The Entity piece seems the most complex as I need to translate the amounts to the local currency when allocating so that the business can perform sensitivity analysis on FX rate changes. I've managed to get something allocated across a few entities just using an ADC, however it is writing the amounts to local currency as well as GBP (group currency), which means that when the entities consolidate, they remain at their 'local' currency levels. I tried specifying the destination C#, but it seems to not allow this. Has anyone else done something similar, or knows if OS is capable of this?
Hi All, Does someone have a best practice regarding scope changes during the year or over the year? I'm already using Custom share so I could add logic which compares Current Period with Prior period relationship properties. Thanks in advance! Kind regards, Jorrit
Hi, I have this loop that use multiply unbalance to get the UD3 member segmented in the accounts, this is the current rule but it's not delivering good performance: I try to recode the rule like this but is not calculating as the loop: Thanks for your time,
I would like to create a derivative transformation rule that will add _Qty to the end of the Account and pull the ActualQuantity field from the data source as the Amount.My DataSource has a field for ActualQuantity.I have a Derivative Rule that looks like this:The complex expression on the derivative rule is:this returns 0 instead of the amount in the ActualQuantity field. Thank you in advance.
Guys , Any idea on how to write a business rule that retrieves a list of all Revenue Accounts .Thanks
Hi - I am trying to get the confirmation entities from all of my Import Channel under my WF Profile. using extender BR but I am not able to find an instance to call the function. Any help would be appreciated ? I was able to get the Confirmed entitles at the WF Profile Level and the below is the code. Dim A As String = String.Empty Dim wfClusterPk As WorkflowUnitClusterPk = BRApi.Workflow.General.GetWorkflowUnitClusterPk(si,"Total_Corporate","Actual","2023M1") Dim objList As List(Of BaseNameIntPairInfo) = BRApi.Workflow.Metadata.GetProfileConfirmationEntities(si,wfClusterPk) For Each cent As BaseNameIntPairInfo In objList A = cent.Name brapi.ErrorLog.LogMessage(si,A) Next
Hi All - I recently came across the BRApi.Workflow.Metadata.SaveWorkflowProfileEntity and could not find any documentation. Does it get the name of the entity while saving which is attached to WF ? Any sample code would be appreciated Thanks
Hi, I'm trying to get the amount of an objDataCellInfoUsingMemberScript but I couldn't get the data, I'm trying this:objDataCellInfoUsingMemberScript = BRApi.Finance.Data.GetDataCellUsingMemberScript(si,"KemetFinRptg", "E#LEGAL_Y:C#Local:S#Actual_YAGEO_Fx:T#2022M1:V#MTD:A#702006:F#Top:O#Top:I #Top:UD1#0021:U2#Top:U3#Top:U4#Top:U5#Top:U6#None:U7#None:U8#None" )'String to convertDim stringToConvert As String = objDataCellInfoUsingMemberScript.DataCellEx '<-- Update string to be converted'Convert to double. Set to 0 if string if not able to be convertedDim dblValue As Double = stringToConvert.XFConvertToDouble(0)
Hi OS Community,We have custom business rule to manage Data cell access security (Slice security). We have created new row category(DHRStat_Fcst)select group and it should have Read access only to PLP register but issue is it also have write access to add or make changes to register (screenshot below highlight in yellow) which we are trying to retrict through BR. Custom BR code: Line 253-259 is it is for data cell read access for PLP registerLine 263- 264 is the code for write access for PLP register and we try to restrict by category, but it is still not working. If Not itemAccess.Category = "DHRStat_Fcst" AndAlso itemAccess.MemberFilters.Scenario.IndexOf(wfscenarioname) > -1 AndAlso brapi.Security.Authorization.IsUserInGroup(si, groupID) ThendashSet = "3b2b1w_RegisterMaint_PLP"End If Data access:I need help with the BR code change to restrict the write access to the particular Data cell category .Let me know if you need any more details.Appreciate your help!!
Hi, Is there a programmatic or any other way to log off all users in a certain application before a data management job runs? Because of a bug in Account Recon marketplace solution, the data load fails when the users are active. Ragav.
I am trying to create a business rule which returns a time member driven by the Workflow scenario member. My forecast scenario members are structured as Jan_Fcst, Feb_Fcst...Dec_Fcst. For instance, Dynamic time filter, Year = WFYear and period based on Scenario, eg Jan_Fcst = 20**M1, May_Fcst = 20**M5. Does anyone have a snippet or suggestion on how I can go about doing this? Also, I was going to use it as an XFBR rule and I don't know how to run the BR by itself in order to look at the error log for help testing this rule. Any help is much appreciated.
Hello OneStream Community,I am using the SaveDataEventHandler to validate a cell amount being saved. Depending on certain conditions I update the amount in the “args.NewDataCell.cellAmount” and set “args.Cancel = False”.Instead of the modified amount in “args.NewDataCell.cellAmount” the original amount entered gets saved. In the snippet of the code below, a sample error log output when a user inputs 4.3466 in a form would be:Amount Before = 4.3466Amount After = 4.35But the saved amount in the form will be 4.3466.----Snippet Start-----BRapi.ErrorLog.LogMessage(si,"Amount Before = " & args.NewDataCell.CellAmount)args.NewDataCell.CellAmount = Math.Round(args.NewDataCell.CellAmount, 2, MidpointRounding.AwayFromZero)BRapi.ErrorLog.LogMessage(si,"Amount After = " & args.NewDataCell.CellAmount)args.Cancel = False----Snippet End-----Please advise.
Hi All - I am trying to create a View using a Extender BR and It is compainling without any issue but when I try to execute it am getting the below error. Any help would be appreciated. Dim vSQL As New Text.StringBuilder() vSQL.AppendLine("CREATE View dbo.v_stageData AS SELECT WFP.ProfileName As WorkFLowProfileName, S.Sn AS SrcScenario, T.SnT AS TgtScenario, S.Tm AS SrcTime, T.TmT AS TgtTime, S.Et AS SrcEntity, T.EtT AS TgtEntity, S.Ac AS SrcAccount, T.AcT AS TgtAccount, S.Fw AS SrcFlow, T.FwT AS TgtFlow, S.Og AS SrcOrgin, T.OgT AS TgtOrgin, S.Cn AS SrcConsol, T.CnT AS TgtConsol, S.Ic AS SrcICP, T.IcT AS TgtICP, S.U1 AS SrcU1, T.U1T AS TgtU1, S.U2 AS SrcU2, T.U2T AS TgtU2, S.U3 AS SrcU3, T.U3T AS TgtU3, CAST(S.Am AS DECIMAL(18,2)) AS Amount FROM StageSourceData S INNER JOIN StageTargetData T ON S.Wfk=T.Wfk AND S.WtK = T.WtK AND S.Ri = T.Ri INNER JOIN WorkflowProfileHierarchy WFP ON WFP.ProfileKey = S.Wfk WHERE T.SnT = 'Actual' AND T.TmT = '2023M1' AND WFP.ProfileN
Hi everyone, I was trying to add drill down capabilities to a calculated flow dimension member but was having issues with the drill down formula. I entered the formula below but still wasn't able to drill down into the flow member at all. Does anyone have any ideas on why it's not working? Formula: Formula for Calculation Drill Down:
All - The below extender rule will be able to delete multiple member from Parent Hierarchy. 1. Provide the Dimension Name & Top Parent Name in the Hierarchy - See highlighted in Red. 2. I want to make a point here the While Count > 3 because the it takes the current parent and other member ENtityDefault1 & None. Since we will not be able to delete it so it should be 3 or loop will be infinite. 3. You can use as an input Variable for Dimension and Top Parent and attach to the dashboard but this is a good starting point. Dim dimensionPK As DimPk = BRApi.Finance.Dim.GetDimPk(si,"Dimension")Dim nValue As Integer = BRApi.Finance.Members.GetMemberId(si, dimensionPK.DimTypeId,"TopParentName")Dim objList1 As List(Of Member) = BRApi.Finance.Members.GetAllMembers(si,dimensionPK,nValue)Dim objList2 As List(Of Member) = BRApi.Finance.Members.GetBaseMembers(si,dimensionPK,nValue)Dim mbrct As Integer = objList1.CountWhile mbrct > 3For Each mbrbe As Member In obj
I have UD8 DynamicCalc members that calculate various Growth %s. These work as expected when the Account dimension member referenced in the formula has a normal Account Type (e.g., Revenue or Expense). It doesn't work when the Account Dimension member's Account Type is a DynamicCalc.Any tips on how to solve for this? We can workaround this with some math in Cube Views, but would love to have a workaround for XFGetCell and Quick Views.
Is there a way, in a member formula or Finance BR, to write annotation data back to the database in bulk?In OneStream rule writing, it's best practice to limit the number of times you are writing data back to the database (ideally only one SetDataBuffer at the end of your code). However, it does not appear that you can include annotation information in the DataBufferCell objects that are used in a data buffer.Is there an alternate way to be able to set a large quantity of intersections at one time (like a SetDataBuffer), but for Annotation information instead of values?
It appears we can not use workflow event handler to automate an activity which has the same event operation type. Anyone has similar experience?We need to automatically unlock a workflow when a sibling workflow is been manually unlocked. We wrote the rule under the BREventOperationType.Workflow.WorkflowUnlock event. But the process always fail with the below error. The same code will work if we changed it to run from the BREventOperationType.Workflow.WorkflowLock event. It seems to me we can not trigger same type of events."The underlying connection was closed: An unexpected error occurred on a receive. Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. An existing connection was forcibly closed by the remote host (Socket Error Number 10054)"
Hi, I am currently working on creating a ParamHelper business rule to be used in a CubeView. The goal is to have the S#scenario driven by the time dimension parameter selected by the user, rather than by the workflow time. For example, if T# contains M1, the scenario that should be returned is S#Projection. I would appreciate any pointers or guidance. Thanks in advance for your help!
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.