Discuss formulas and business rules for your application.
Recently active
Hello, good evening, I am trying to build a BRApi function to get the content of the UD6 constraint from an Account dimension member and so far I couldn't find a function that returns the information. Does anybody knows if it is possible to build a BRApi function like that or have done that in the past? Thank you for the help!!!!
Looking for a solution. Update description of a member in an Extender rule for an already existing/new member. If Possible, not mandatory but can we add a descriptions/alias for various language on a new/existing member?
Hi all, we have a databuffer with values to be cumulated in a specifi destination intersection. The issue we have is that api.Data.SetDataBuffer always wirte the last value. Is there a standard parameter (or workaround) we can use? At the moment the only valid solution we have found is to read the current value with a specific "api.Data.GetDataCell" and then sum to the databuffer amount. But I am sure there must be a smarter solution. Thanks, Marcello
I have a parser rule that works fine for a Budget type scenario but does not read a WFText1 for a Scenario Type 2 . I am using the below syntax to read the WFText1 property from a parser rule .This step is an import type step. It returns the GL list as blank for my scenario type 2 but works fine for my budget type scenario. Both are in different Workflow profiles. It picks up the correct workflow profile as i checked after logging it but unable to somehow pick up the text 1 value .
General Formatting One of the most important things you can do, to make you rules readable and helpful, is making sure they are properly formatted. There are some simple rules you should probably follow all the time: Proper Case – Function names are not case-sensitive; for example, api.data.calculate, Api.Data.Calculate, or API.DATA.CALCULATE, are treated as the same. Still, it is a best practice of VB style to be consistent and to capitalize judiciously. Proper case throughout the rules file makes it much easier to read. Always Comment – Add comments to most lines of code explaining what you are doing and why. Use the apostrophe at the beginning of the comment to make sure it is not interpreted as part of the rules. If this is done in a VB editor, it should turn green by default. Indentation is critical for readability – This is especially true when using any nested statements or conditionals. Those are explained below. Indentation should be done for any scripting, even scripting obj
The below code will delete the Security Group using extender rule. Dim secGrp As List(Of Group) = Brapi.Security.Admin.GetGroups(si) For Each Item As Group In secGrp If Item.Name <> "Nobody" Or Item.Name <> "Administrators" Or Item.Name <> "Everyone" Brapi.Security.Admin.DeleteGroup(si,Item.Name) End If Next
Anyone have an example how to create Json files within OS?(I need to create an export of Cube View and a Metadata extract in Json format, this will be triggered by a DM job.)
All - Could you please review code is make sense from performance. I am trying to be checking the target Account is <> 0 then it will delete the source value and overwrite the target value. PLease review and let me know if I can use some kind of EVAl or Data Buffer??? If Not api.Entity.HasChildren Then If Not api.Cons.IsLocalCurrencyForEntity Then api.Data.Calculate("A#Target:F#EndBalInput=RemoveZeros(Eval(A#Source))",AddressOf OnEvalDataBuffer) End If End If Private Sub OnEvalDataBuffer(ByVal api As FinanceRulesApi, ByVal evalName As String, ByVal eventArgs As EvalDataBufferEventArgs) eventArgs.DataBufferResult.DataBufferCells.Clear If Not eventArgs.DataBuffer1 Is Nothing Then For Each Cell As DataBufferCell In EventArgs.DataBuffer1.DataBufferCells.Values If Cell.CellAmount <> 0 Then 'api.LogMessage(cell.CellAmount.ToString) api.Data.ClearCalculatedData(True,True,True,"A#Target") eventargs.DataBufferResult.SetCell(api.SI,cell) ' El
I am getting the "String was not recognized as a valid DateTime" error when trying to execute the batch dataload using the extender business rule. The value being passed to the batch is the following string: "2023M1" I would appreciate any advice on the cause. Thank you, Yan
I use an xfbr in my CV based on rules. In the scenario dimension we have put text into the Custom Settings (Text1). What is the syntax to get the Scenario Text1 into the case string (Bold)? Also is it possible to incorporate this into the time frame with :Name(etc...xx). If args.FunctionName.XFEqualsIgnoreCase("GetSCenario") Then Dim curScenario As String= args.NameValuePairs.XFGetValue("curScenario") Dim curMonth As String = Right(CurScenario
My source file has a column that contains both, account name and account description. The account names are either 4, 6, or 7 characters and there is a dash (-) in between the name and description (see example below). I'm trying to extract the account name but I have not had any luck with the In String function. Any suggestions? Account Name and description: 123456 - Cash 2345 - Accounts Payable 3456789 - API Function in Excel: =LEFT(A1,FIND("-",A1)-2))
Hello, Please share a reference for adding a relationship between dimension members via Extender rule. I am trying to add new members via Extender rule, the member gets added as an Orphan. I have tried using SaveRelationshipInfo by passing Parent Member ID, Sibling ID and the new member ID, The IDs being passed are correct, but still the new member gets added as an Orphan. Current code which I am trying for adding relationship: Public Sub AddRelationForNewCurrentRate(ByVal si As SessionInfo, ByVal api As Object, ByVal objPriorMemberInfo As MemberInfo) Try Dim objUtil As New OneStream.BusinessRule.Extender.EQUIP_Utility_Helper.MainClass(si) Dim sParentMemberID As String = String.Empty Dim sNewMemberID As String = String.Empty 'Get Parent Dim objParentMemberInfo As List(Of MemberInfo) = BRApi.Finance.Metadata.GetMembersUsingFilter(si, "RevSummaryAccounts", "A#[" & Sibling & "].Parents", True) If Not IsNothing(objParentMemberInfo) And
I am building a BR and kicked it off from the BR editor panel. It is stuck in an infinite loop. Is there any way to abort it?
Hello, In another post user KarlT suggested the use of the UD defaults available for UD1. I manually updated members, and the functionality is exactly what I need. I need to update the field through a data load. UD1 members (Projects), will always have a single UD4 value. In the current TransformationEventHandler rule I am updating text fields in my UD1 members. I thought I could just duplicate the code an update UD4Default. However it is not working. I know it is trying to update the UD4Default value, because if I manually assign a value, it gets cleared when I load. My 2nd thought was that since it is a member selection and not a text field I needed the member id. Which is my attempt below. Any thoughts or suggestion? 'A3 is the department (UD4) example 189 'UD1Attr1 is the project (UD1) example 14123 'D1_Defaults MembersDim DeptId As Integer = BRApi.Finance.Members.GetMemberId(si,dimtypeid.UD4, A3)Dim UD1Dept As MemberInfo = BRApi.Fina
Hi all! Having a copule of questions about consolidation method input and storage: - Could you please advise on any way to input consolidation method, except changing it directly in Application-> Entity Dimension -> Entity member property? - Why the consolidation method property, when retrieved through the Cube View, is seen only at C#Share level? The consolidation method account is a DynamicCalc member one, and there is no any restriction on the level of consolidation it should be calculated on fly: Select Case api.Entity.OwnershipType()Case ownershiptype.FullConsolidation Return 1Case ownershiptype.Holding Return 2Case ownershiptype.Equity Return 3Case ownershiptype.Custom1 Return 4Case ownershiptype.Custom2 Return 5Case Else Return 0 End Select
Is it possible to dynamically set the Bound Parameter of a Supplied Parameter? I have tried to use and xfbr rule to do this but the supplied parameter but this does not work.
Hello - I am am trying to produce the parent for an entity under Gathering_Processing segment node. However, because this entity is shared, the parent entity returned by the VB below is not the one I need. The parent returned is RRC_STXGasUtility which is flat hierarchy and includes the entity in question. Can you please advise? Dim ggpelimftr As String = "E#Gathering_Processing.Descendants"Dim ggpList As List(Of MemberInfo) = api.Members.GetMembersUsingFilter(api.pov.EntityDim.DimPk, ggpelimftr, Nothing) For Each ggpe As MemberInfo In ggpListDim parentIdstring As String = String.EmptyDim ParentList As List (Of Member) = api.Members.GetParents(api.Pov.Entitydim.DimPk,ggpe.Member.MemberId,False)Dim ParentMember As String = ParentList.First.ToStringDim ParentArray() As String = Split(ParentMember)parentIdstring = ParentArray(2).Replace(",", "")parentId = Convert.toInt32(parentIdstring) Next
Hello, I am trying to create a hierarchy for cubeview reporting that is based on a series of metrics that are extracted from the Journal Line Item application database table. The metric is based on one half of the JE, but it is only applicable if a specific account is used as the other half of the JE. For example, if I have two journal entries, one using accounts A & B and one using A & C, I need the data from account A, but only for the first entry because the other half of the entry was to account B. Because the second entry used account C I don't want that value captured in the metric. I have been able to compile the SQL extract for this, but was wondering if there was a function in the business rules that would allow me to populate a dimension member, similar to a Finance member rule or api.data.calculate.getdatacell, that could be used in a loop, based on the row values extracted, each row being a combination of dimension base m
I am looking for tips on batch automation business rules. Currently when our scheduled trial balances are loaded the whole upload will fail if one transformation mapping error is present. As you can imagine this can slow the close process down significantly. Does anyone have any suggestions on how to allow the batch to load the validated accounts and only error out the transformation errors?
Is there any function or SQL to identify the newly added member in OS ? Ex - If I added an new account and I want to check whether the data was loaded to that new account ? Thanks
Hi, I have an account member A#salary which is being computed using BR1 in CV1 and I need to use the computed value in another CV2 using BR2 to compute account member A#61000101. Tried as below: api.Data.calculate("A#61000101:U2#Staff:U4#None:U1#7330:O#BeforeAdj = A#Salary:U2#Staff:U4#None:U1#7330:O#Top") Remaining dimensions is all same between two. Kindly advise.
I have a dynamically calculated member formula. It is returning the wrong value for each Quarter, it should be the sum of the M1+M2+M2 ($1,614,441.60) and not be recalculated ($1,649,190.40). Is there a member property or formula examples that can help me resolve this issue. Thanks. Sample calc Drill down formula I tried setting a different formula on the quarter, but I get the error message “The Dynamic Calc Member Formula is recursively calling itself:. Thanks,
Hello All, For the Transformation Rules, 1-1, Composite, Range, List, and mask rules, what are order of operations in rule types? Do the rules that run later overwrite previous results or does it ignore later matches after a match is made? Where can I find documentation on this? Thanks!
Hi all! I need your help with a finance BR. I have a Budget scenario with different versions children members (ex: Budget, Budget_v1, Budget_V2, etc.) Right now my script goes like this: Dim isBudget As Boolean = api.Pov.Scenario.Name.XFContainsIgnoreCase("Budget") If isBudget Then I am trying to find a script where I don't use "Contains", as if new scenarios are created in the future, the word "Budget" will always need to be apart of the member name, which is not ideal. Any suggestions how I can call the children members of Budget? Thanks
Hi All! I want to implement a Data Management that read and modifies data from the cube. The only problem is that the rule type Extensibility Rule does't have the option api.Data to be able to acces to the data from the cube. I'm tring to create a Finance rule that is called by an Extensibility Rule. Here is the example: But I get the error: 1) Error at line 33: Value of type 'ExtenderArgs' cannot be converted to 'FinanceRulesArgs'. ¿Can I call a finance rule directly from a dashboard or from a data management? ¿Is posible to call a Finance rule from a Extensibility Rule like I'm tring to do? ¿There are some Imports that I can use to be able to use api.Data in a Extensibility Rule? Thank you! And hope that this helps some people!
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.