Discuss formulas and business rules for your application.
Recently active
Hi, we have dashboard with multiple driver tabs. if data is entered in one tab but not saved prior to switching to another tab that data is lost. Is there a BR to check for unsaved data and prompt the user to save? thanks, Greg
Hello, I am looking to write a confirmation rule which pulls a value for a flow member across each account. An example would be we have a calculated opening balance and a loaded opening balance. There is a flow members which calculates the variance between the loaded and the calculated beginning balance. If the absolute value within the validation flow member <> 0 I want the rule to return which accounts are causing the outage within the info1. I'm looking forward to seeing if if anyone else has come across something like this. Cheers!
I am getting an error while trying to access the file from the BR . The process cannot access the file '\\XXXXXX.file.core.windows.net\onestreamshareprd1\FileShare\Applications\XXXXXXX\Groups\Everyone\XXXXXX\File_XXXXX.zip' because it is being used by another process.
Hello, I have a requirement where I'll have to read the current month in XFBR rule and return a string based on a few conditions. The time filter in the columns is set to |WFYear|.Base. I've tried a few different variables, but they're all only passing on the year. When I divide the columns up into specific months, I get the required results, but I'm searching for a method that I can use when that's not the case. Is there something similar to api.pov.time.name that I can use in XFBR, or is there any other approach that I'll be able to use? Thank you, Manasa
Hi Everyone, In building out our financial reporting, I was seeking to get some opinions on best practice related to adjustments for financial statements when scaled and rounded to millions. We are coming from doing our consolidations and external reporting in Excel and reconciling to the external financials is always a challenge when pulling numbers out of our prior tool (TM1) as the quarterly adjustments never then add up to the full year adjustment. We've been told that there are OneStream implementations where they have rounding done through business rules and account text fields. But have also been told that really the best practice is just to do rounding numbers in our filing tool, versus in OneStream. As users and technical experts, what are the opinions on what the best practice really is for this stuff? Thanks!
I am modifying a business rule that uses the entity name to search a similarly named (Entity_Acct_Description) table and return a value. I want to verify that the table exists before attempting the TransformText to prevent errors in the case of new entities or name changes. Is there a way to verify the named object exists before executing the code? ElseDim LookupTable As String = TEntity & "_Acct_Description" ''''IF Lookuptable exists do this''''SAccountDesc = BRApi.Utilities.TransformText(si, SAccount, LookupTable, True)
Hi, Is there an easy way to get MemberScript from the DataCellPk? I can see a method called 'GetMemberScript' (what a surprise) on DataCellPk object, but it doesn't work (or I cannot figure out how it works) in Extensibility Rule. The goal is to take the details of one DataCell, replace one of the members and process (validate) such created reference to another DataCell. Any tips? Best, Karol
Hi, I'm currently using a FDX query to create an automated Journal. Works basically fine but when the FDX query is completely empty it throws an exception error message. Not a very big deal but the users experience this as a failure of the system. Does someone know a way to avoid this throw or to customize the exception error message in case of an empty datatable? FYI a check on the datatable (f (Not dt Is Nothing) And (dt.Rows.count > 0) Then) still gives the throw. Thanks!
I have two questions: ud3 text2 has text which is the entity on where we are going to seed to.. 1) I want a memberlist where Text2 is not blank or has no data. I am wondering if Text2 <> '' is the correct way to go? 2) What is the syntax of brapi or api.logmessage to see what is in the memberlist? 'Dim memberFilter_UD3 As String = "Cb#CONCUBE:U3#PCHEAD.Descendants.Where(Text2 DoesNotContain '')" Dim memberFilter_UD3 As String = "Cb#CONCUBE:U3#PCHEAD.Descendants.Where(Text2 <> '')"Dim UD3List As List(Of Memberinfo) = api.Members.GetMembersUsingFilter(api.Pov.UD3Dim.DimPk,memberFilter_UD3) 'api.logmessage("UD3List", String.Join(vbnewline, memberFilter_UD3.Select(Function(x) x.GetType.FullName))) BRAPI.ErrorLog.LogMessage(si,"1_Target_ " & UD3List) For each UD3 as Memberinfo in UD3List etc. etc. BRAPI.ErrorLog.LogMessage(si,"Test " & UD3.NameAndDescription)' &" " & UD3.Properties.GetUDProperties.Text2.GetValue())
Hi all We have a process where we update dimensions and their children on a regular basis. This means we need to delete the relationships between parents and children and then reload the new updated dimensions...etc. This takes a very long time, because we have a lot of dimensions. Has anyone out here used a script to make this process faster, we we to not have to reload everthing, but only update the changes made to the different hierarchies? Thank you for any suggestions Nouria
hi, I was trying to use a cell format parameter I had stored in an Account Text field in a cube view using an XFBR rule. Can this work? My attempt below. thanks, Greg Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As ObjectTry If (args.FunctionName.XFEqualsIgnoreCase("CheckDataForVisibleColumn")) ThenReturn Me.CheckDataForVisibleColumn(si, globals, api, args)ElseIf (args.FunctionName.XFEqualsIgnoreCase("GetAccountFormatFromText")) ThenReturn Me.GetAccountFormatFromText(si, globals, api, args)End If Return NothingCatch ex As ExceptionThrow ErrorHandler.LogWrite(si, New XFException(si, ex))End TryEnd Function#Region "Standard Helper Functions" Public Function GetAccountFormatFromText (ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As StringTryDim AccountID As String = args.SubstVarSourceInfo.PovMembers.Account.MemberI
I am trying to populate 30 months with depreciation. So if an asset value is 300,000 $, and it is to be depreciated to zero in 30 months, that would mean that I have to fill each month with 10,000$. Seems like standard, simple BR that has already been written. Does anyone know where I can find sample BR code for straight line depreciation?
Hello team,I am wondering if I can call an UD détail with args.confirmationruleargs.info ? I need to display and show only the data that fail based on UD.base , is it possible to do that on the info box in the confirm rules or should i do it through BRs and then call it in the conf rule? And do you have an idea what can be the syntax to show the base members of a specific UD that fail ?Thanks in advance , appreciate your help
Hi,Can anyone help in writing a confirmation rule where if Account starts with 4 and U3#00 has a value then the rule fails and the Account name is displayed.I am getting an error in running through the loop for all the account starting with 4, the rule probably stops at first match itself. If anyone could give the rule from scratch would be great!Thanks!
Hi - I know the below code is not a good practice but is there is an alternative way to set the data =0 because I want to clear all Origin Base member and UD2 base. Any help would be appreciated ? api.Data.Calculate("A#ACCT:F#EndBalInput:UD1#" & ud1Member & ":UD3#" & ud3Member & ":I#" & icpMember & ":C#USD:O#All:UD2#All:UD4#None:UD5#None:UD6#None:UD7#None:UD8#None = 0")
Hi, How is it possible to update Entity Relationships through Business Rules, including Ownership Type, Percent Consolidation and Percent Ownership? It must be possible since the latest version of the Application Control Manager can also update entity relationship information, however I couldn't find it in the api.
Hi all, I am building a cube view for my end users to tell them the first common parent of two entities based on parameter inputs. However, I am having trouble with the BRApi.Finance.Members.GetFirstCommonParent formula as used in a Dashboard XFBR String. Here is the formula at prompt: BRApi.Finance.Members.GetFirstCommonParent(si, dimPk, topMostMemberId, memberIdA, memberIdB, dimDisplayOptions) The input for "topMostMemberId" seems to dominate the return value of the formula. If I put our top most entity hierarchy memberId into the input, the formula will return that value, even if it is not the first common parent. If tried a number of different inputs here, all of them seems to just spit out on the return. What am I missing? Is there something in the dimDisplayOptions I need to toggle? Here is my VBA: If args.FunctionName.XFEqualsIgnoreCase("GFCP") ThenDim EntityInputName1 As String = args.NameValuePairs.XFGetValue("Entity1")Dim EntityInpu
Hi all, I'm trying to give the end-user the option to enter their forecasts in either 13 week increments (a quarter essentially) or for the full 52 weeks. This specific XFBR will determine the green cells below. I'm unsure of what line 28 should be or if this XFBR could be easier to define. Week13Column and FullYearColumn are existing parameters that list 13 weeks of scenario and the full 52 weeks of scenario, respectively. Thanks!
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.)
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
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
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.