Discuss formulas and business rules for your application.
Recently active
Equity pickup (EPU) is a method of reevaluating the investments owned by a holding company allowing the parent to realize changes in equity. This results in the holding company’s balance sheet showing the current value of the corresponding share in the equity of the subsidiary. Investments are normally shown at historical or acquisition cost. But an invested company has a value that can vary based on profit and loss they are incurring. The equity pickup adjustment offsets the historical cost in local currency, showing the actual value of the equity owned. Direct Ownership Percentage * Equity of Owned Entity = Current Equity Value - Investment = Equity Pickup Adjustment You can calculate the adjustment by simply taking the direct ownership percentage multiplied by the equity of the entity owned then subtract the investment in the parent. In OneStream the ownership percentage can be entered directly on the entity or by creating a Ownership cube. But once thi
Does anyone has a NotePad++ language definition file for OneStream rules? Thanks in advance.
OneStream Platform releases will periodically include an update to the Business Rules compiler, which is noted in each version’s Release Notes. The enhancements typically make the compiler stricter in detecting syntax or other conditions, which are surfaced through Error or Warning messages. Error messages must be resolved, as the Business Rules will not complete the compile process. Warning messages are exposed to provide guidance to the Administrator. The displayed line items will still function but should be updated to support the latest compiler’s requirements. The method to resolve the Warning will vary. In some cases, a replacement function may be available, or there may be a change to a function’s properties. Example The above error message informs the Administrator of a Warning on the LookupRowFieldValue function having a property change. By reviewing the current rule, and by looking at the current Function Definition, th
Hello Everyone, Looking for a quick help Please. Here I am trying to write a Dynamic Calculation code which will follow the exact logic of PVA translation however will use rates from previous year. So kind of a Constant currency solution. However when I am in Time period 2, I am unable to pull data from different periods, This calculation works If I make my T#Hardcoded e.g. 2020M1/2020M2. Current outcome is all zeros 😞 Please help with any solution anyone has or can point me to right direction - since unable to understand what is missing. Thanks Satish
Hi all, I have a dynamic calc that displays zeros instead of null when the source cell is null. In the image below, MTD_CF is dynamic and it shall display None data under certain conditions. When None is null, MTD_CF is showing 0. Is there a way to avoid this so the dynamic calc shows nulls as well? I've tried with RemoveZeros, like this: Return api.Data.GetDataCell("RemoveZeros(V#" & view & ":U1#None)").CellAmount The code returns the result, but does not remove the zeros. Any ideas? Thanks in advance. GSF
SOURCE: ONESTREAM CHAMPIONS Hi All,We are at the point in our implementation where we are thinking about managing security and our userbase. We are going to have ~600 users as we are very decentralized with our financial management, and we currently have our SSO setup with SAML. We use ServiceNow internally for all things workflow/helpdesk related and were going to be building the workflow for user creation/modification and their roles. Knowing that OneStream also uses ServiceNow for their integration I am wondering if there’s any thing out there to automate certain things from ServiceNow, or if we can script a .xml file out of ServiceNow to our staging database and have that loaded to OneStream to make the changes. If anyone has any ideas or experience I’d love to hear, as we are going to be having our OneStream system as an “in-scope” software from an audit perspective and want to have some tight controls around user management. Thanks,Jeff
Hi all Onestream stores a lot of information using an integer ID instead of a name. And most of the time we also deliver a simple way, to get objects (or names of objects) using an api or brapi call. Somehow getting the name of a dimension from its ID is an exception. Is there a simple way to do it? Cheers
Hello Experts, I am trying to export Cell Details to a CSV using a business rule function as shown below: If args.CustomCalculateArgs.FunctionName.XFEqualsIgnoreCase("Export_CellDetails_CSV") Then Dim wfUnitInfo As WorkflowUnitInfo = api.Workflow.GetWorkflowUnitInfo() Dim SRCTimeName As String = wfUnitInfo.TimeName Dim configSettings As AppServerConfigSettings = AppServerConfig.GetSettings(si) Dim timeStamp As DateTime = DateTime.Now '.UtcNow Dim AESTNow = System.TimeZoneInfo.ConvertTime(timeStamp, TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")) Dim timeString As String = AESTNow.ToString("yyyy_MM_dd_HHmm") Dim xfolderPath As String = FileShareFolderHelper.GetDataManagementExportUsernameFolderForApp(si, True, configSettings.fileShareRootFolder, si.AppToken.AppName) Dim csvFilePath As String = xfolderPath & "\" & "Cell_Details.csv" If File.Exists(csvFilePath) Then File.Delete(csvFilePath) End If
Hello, I am working on a CTA plug account and also historical overrides. Right now for the plug and overrides to run I have to force calculate and translate. Is there a way the user would be able to run the consoldiation and the formulas run correctly without having to go through a whole sequence of steps? Basically, is there an easier way to run the translation logic within consolidation? These are the current formulas I have: CTA Plug with formula pass 8 being used: If (api.Cons.IsCurrency() And Not api.Cons.IsLocalCurrencyforEntity()) ThenDim entityDimPk As DimPk = api.Pov.EntityDim.DimPk Dim entityId As Integer = api.Pov.Entity.MemberPk.MemberId If Not api.Members.HasChildren(entityDimPk, entityId, Nothing) Then api.data.calculate("A#313001:F#TB_ENDBAL:I#None = A#TotalAssets:F#TOT_USGAAP:I#Top - A#TOTALLIABEQUITY:F#TOT_USGAAP:I#Top") End If End If and for overrides I only have one formula being used for “Historical Override Prior” on Formula pass 1. I think this may be part
SOURCE: ONESTREAM CHAMPIONS Hi all, I have a very random request for anyone who may have the time to review and hopefully point me in the right direction. The formula calc is an on account and is unbalanced - I’m specifying more dimensions on the right side of the equation than the left (T#, E# and C#) which is giving me a data explosion error. I have examples of formulas currently in use where T# is on one side but not the other and the formula works fine so I’m guessing it’s an issue with E# and C# but I can’t seem to figure out how to make it work Here’s the formula:If Not api.Entity.HasChildren And api.Cons.IsLocalCurrencyForEntity ThenDim vEnt As String = api.Pov.Entity.NameSelect Case vEntCase “ENT_1095”api.Data.Calculate(“A#520_211010:V#Periodic:O#Import:F#EndBal:U1#NABalanceSheet:U3#Source:U4#None:U5#None:U6#None:U7#None:U8#None =A#ACC_SAP_134450:T#POVPriorYearM12:E#ENT_2000:C#CAD:V#Periodic:O#Import:F#EndBal:U1#NABalanceSheet:U3#Source:U4#None:U5#None:U6#None:U7#None:U8#N
SOURCE: ONESTREAM CHAMPIONS Hi all, I’m largely self taught with vb, but have hit a wall with this, and thought I’d share here rather than ask the OS helpdesk, as it seems to be something that could prove useful to others. I’m trying to write a calculated account which refers an entity Text field, using multiple values varied by time in the calculation. We set a value for Cost of production for certain categories of products (spares and accessories) by % on a varied by time basis on the entity. This can vary from year to year (in theory could vary in year) Specifically, I want to find the value that is valid at prior year end and subtract the current value from that. The value may have been set earlier M12 may conain no value but M8 of the same prior year does, for example. I’ve introduced a loop to try and go back through periods until a value is found, but can’t see whether that’s working as I’m still getting an error message. Dim PeriodPOV As Integer = api.POV.Time.MemberId Dim Prio
Hi All, I'm trying to call out a XFBR string w/in a XFBR string in the column set of my CV (snip below). Our consultant initially setup the first XFBR so that we could report on completed weeks of the month while rendering zero for the future weeks. The logic works great but is dependent on manually entered parameters. This is when I tried to introduce the second XFBR string to dynamically determine the prior week so that we can automate distribution of this output. After pushing in the second XFBR string I get an error when running the CV of, 'Input string was not in a correct format' (see second snip). I've tried to pass in the week value as an integer, a string, and as an Int32 value but nothing has worked yet. I've also tried with and without the brackets [ ] on the CV column set, but no luck. Any suggestions out there? Help would be greatly appreciated. Thanks, Bryan
Source: Migrated from Champions Hello all, I’m creating a Data Adapter that is using SQL to poll an external database. I can get it to work when I’m just supplying the strings for dates. However, I wanted to get fancy and be able to parse the effective dates using variables. When I go to an online SQL tester (https://www.w3schools.com/sql/trysqlserver.asp?filename=trysql_func_sqlserver_left), I can get the below code to return ‘121181’, which is the Julian date I need in querying JDE. But the OS SQL Query returns an error saying ‘int’ is an invalid token. does anyone know if there’s a way to use variables in this way? Declare @YearRun intDeclare @YearPart intDeclare @MonthRun intDeclare @Global varchar(100)Declare @GetTime datetimeDeclare @RunTime varchar(100)Set @Global = ‘2021M6’set @YearRun = LEFT(@Global, 4)Set @YearPart = Right(@YearRun,2)set @MonthRun = Right(@Global, Len(@Global)-CHARINDEX(‘M’,@Global))Set @GetTime = EOMONTH(CONCAT(@MonthRun, ‘/’, 1, ‘/’, @YearRun))S
This is causing me a headache! Here's the situation. We have an Actual Scenario and a Forecast scenario In the Actual Scenario, we have Cash Flow accounts that have formulas so that they pull data from Income Statement and Balance Sheet accounts. For example CF1 pulls from the IS, and CF2 pulls from the BS. The CF accounts are all set to Flow account type, and the ones pulling from the BS have Flow Constraints set and those Flows have Switch Type set to True. In Actual Scenario, the Rate Type for Revenues and Expenses is set to AverageRate, and Rate type for Assets and Liabilities is set to ClosingRate. In Actual, IS accounts correctly translate at AverageRate, BS accounts correctly translate at ClosingRate, and all Cash Flow accounts translate at AverageRate. First question, how does the Cash Flow translate at AverageRate? According to the OneStream XF Reference Guide, Flow type
Originally posted by Thomas Regehr Hello, We have a report that needs to transition between the Budget scenario and Actual scenario as we move through the year. Ideally the user will select a period, and depending if the period in the displayed column is current or in the past it will show Actual, else it will show Budget. I was asked to complete this without creating a new scenario. I tried the below, but didn't have any success. Public Function PastBudgetCurrFutActual(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As String Try Dim currTime = args.NameValuePairs.XFGetValue("CurrentTime") Dim timeId As Integer = BRApi.Finance.Members.GetMemberId(si, DimTypeId.Time, currTime) Dim colTime = args.NameValuePairs.XFGetValue("ColTime") Dim timeId2 As Integer = BRApi.Finance.Members.GetMemberId(si, DimTypeId.Time, colTime) If timeId >= TimeId2 Return "S#Actual" Else R
Hi all How can I avoid the ampersand in string operations? I need to concatenate a pov for a calculation, but with all the ampersands, it looks complicated: "A#" & accountName & ":F#" & flowName & ":UD2#" & ud2Name & ":UD4#" & ud4Name
HelloI've tried to load my excel file through the data source fixed files with a complex expression on the time dimension, and i think it doesn't go through the complex expression at all so i'm wondering if i can use a complex expression in fixed file data source ? The check i'm trying to do is to verify the workflow period and the time that's in my load file. if it's the same it can continue loading but if it's different i'm asking OS to pop up a error message.If anyone has an idea please share it with meThanks 🙂
Hi there, I want to add data to a dictionary with a key that contains 3 fields. I've been advised to use a ValueTuple but have tried all the syntax options that i could find in Google without success. Ideally it should be like the setup of a databuffer where the key is the databuffercellPk and the value the actual stored number. My key should contain 3 strings and the value a decimal). I've tried something like: Dim dctDict as New Dictionary<(String sn, String Tm, String Ac)>, int(); and various other options. Does anybody had a suggestion how to create the best performing Dictionary Key that exists of 3 strings?
Hi - We are try to create logic that will determine whether a scheduled job would run. We have been able to create the logic to only run if current date is <= to the day of the month (Calendar Day) but what we really want is to be able to know if it is before for a specific working day so excluding weekends (for example working day 10 in September 2021 would be the 14th) . Has anyone created this logic and would be willing to share?
I've been given a task to debug an error that happens when we confirm a month, and I'm not sure what some of the messages are telling me. When I run Confirmation, I get an error in a dialog box, and the title of the Dialog Box is "Extensible Finance." Should I be looking for a confirmation or a business rule with that name? The error text is "A#Facilities_Allocation:F#None:O#Forms:I#None:U1#None:U2#1:U3#None:u4#None:U5#None:U6#None:U7#None:U8#None" which I recognize as a ... I forget the term but I think of it as the filter parameters. But I'm not sure where to look for this. If I scroll down further in the task activity and open the error message to see the details, I see a line that says Source code: ConfirmationEngineWcf.cs, line 133, method ExecuteConfirmation Is there a rule called ConfirmationEngineWcf that I should be looking for? Chuck
Coming from HFM, I'm used to having a single rules file that I can easily search through. In OneStream, the equivalent rules appear to be defined for each individual account as a metadata property. I.e. the Formula. Is there a way to extract all of the Account Formulas into a single file so that I can search through it? Instead of having to click through each account in turn and opening up the individual formulas?
Hey - Wondering how you learned to code VBNet. I’ve been trying to improve my skill to write tailored Business Rules. Any resources/guide to share? Thanks,Mustafa
Source: Migrated from Champions I’m trying to use the below member filter to remove only the intercompany accounts. This works, but I lose the indents from using Tree Descendants. A#410000.TreeDescendants.Where(IsIC = False) Is there a workaround to remove just the IC accounts while still retaining the indents from tree descendants?
Dear community, I have a nasty error message when I execute a data management task : "Error processing Data Management Step 'STEP1'. Data validation error. The Data Cell is read-only because the Parent Workflow Profile 'Activity MyEntity' has no active Input Profiles for the Workflow Channels that are assigned to the Data Cell's Account and/or UD member. Entity=MyEntity, Account=GL11410, Origin=Import." The funny thing is, I have no clue what is the issue. I try to execute a "Copy Data" data management that copies periodic data on the same cube, same entity, but from 2021 Actual to 2022 budget (only imported data). --> What am I missing ? Regards,
There are certain calculations are specific to some entities in the hierarchy so want to add if condition to check entity names and then execute the code. Couldn't find any api which returns Entity name. Regards, Yashwant
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.