Discuss formulas and business rules for your application.
Recently active
I am passing 2 Entities in the Data unit for Calculation as Entity is different in both the destinations So what i was expecting is that it will run as a for each loop with both the entities so it will pick enitity1 and then run the Calc and then enitity2 and then run the Calc what i was expecting was that the order will remain same every time it will run that is Enitity1 then Enitity2 but what is happening is that it is first taking enitity1 and then entity2 but when i run it again it is taking enitity2 and then enitity1 in that for each loop to solve this i used 2 different DM steps but why it is running like this i want to know Can anyone explain why it is running like this ?
Happy end of masking!! We are trying to pass multiple months to: wfClusterPkChild We tried to pass Qtr1.base but we get error message. Any suggestions on how to pass M1, M2 , M3 - which are base level children of Qtr1 ? Here's our code: wfClusterPk = BRAPi.Workflow.General.GetWorkflowUnitClusterPk(si, profileName, scenarioName, timeName) where timename is 2022M1 Dim wfClusterPkChild As New WorkflowUnitClusterPk(profileInfo.ProfileKey, wfClusterPk.ScenarioKey, wfClusterPk.TimeKey) --- where timename is 2022M1 - it works great. However, when we tried to make timename = Qtr1.base, we get error message. When we try to display using wfClusterPkChild.ToString, we see this "ProfileKey (ffb8c7f5-2cc0-48bb-b483-a2c81cb84875), ScenarioKey (0), TimeKey (2022003000" wfClusterPkChild= ProfileKey (ffb8c7f5-2cc0-48bb-b483-a2c81cb84875), ScenarioKey (0), TimeKey (2022003000), wfClusterPk.TimeKey = 2022003000
Statement: A parser business rule is commonly used with a data source Question Credit: Chris Bielinski Is this statement fact or fiction? Comment your best guess below! Answers will be revealed in one week. * This question is applicable to Platform 7.3.0 and may not be relevant to future releases Want more Fact or Fiction? We’ll be hosting a LIVE game show at SPLASH San Antonio! Come participate or you’re welcome to attend. Secure you spot today by contacting Press@OneStreamSoftware.com. We hope to see you there!
OneStream is the best EPM app for consolidation and everything planning - it is going to kill Hyperion / Essbase !!Does anyone have a sample business rule BR for a column (e.g. K) to Accumulate what is in another column (in Cubeview)?I probably have a written something similar long time ago, but would like to see if someone else wrote a better BR.
Hi All - I am trying to copy Base accounts from Actual to Plan Scenario but it is not working when I try to consolidate but it is working when I perform force consolidate. Below is the code and any help would be appreciated. If ((Not api.Entity.HasChildren()) And (api.Cons.IsLocalCurrencyforEntity())) ThenIf api.Pov.Scenario.Name = "Plan" Thenapi.Data.Calculate("S#Plan = Eval(S#Actual:O#Top:I#Top:U1#Total_CostCenter:U2#Total_ProfitCenter)","A#[Corp_US_Sales].Base",,,,,,,,,,,,AddressOf OnEvalDataBufferScrFilter)Brapi.ErrorLog.LogMessage(si,"APIDATA") End IfEnd If Private Sub OnEvalDataBufferScrFilter(ByVal api As FinanceRulesApi, ByVal evalName As String, ByVal eventArgs As EvalDataBufferEventArgs)TryeventArgs.DataBufferResult.DataBufferCells.Clear()For Each sourceCell As DataBufferCell In eventArgs.DataBuffer1.DataBufferCells.Values'Only process cells that have dataIf (Not sourceCell.CellStatus.IsNoData) Then'Apply filtered source cells with data as the new Data Buffer CellsDim
Hi experts, The business users had posted some retained earnings adjustments to both base and parent entities at OwnerPostAdj consolidation level. I have a very simple opening balance rule that works across all entities and consolidation levels: api.Data.Calculate("F#100= RemoveZeros(F#EndBal:T#PovPriorYearM12)","A#<balance sheet accounts>.Base") We are seeing that the opening balance (F#100) member is correctly pulling the OwnerPostAdj numbers for the base entities from prior years, but is not bringing in the opening balance from the parent entities at OwnerPostAdj level. I did a 'Force calculate with logging' and see that the 'ReadDataRecordsinDataUnit' step is showing zero records in the database. However, I can confirm that the journal was posted in M12 at the parent entity and C#OwnerPostAdj level. Any suggestions as to what else I might need to check? Regards, S
Hi, sorry for such a small issue but hoping to get a quick second look. I input the following to calculate BW percent but the following screenshot with the error keeps coming up, despite the comma I put in. Would anyone know what could be wrong with the syntax? GetDataCell("BWPercent(S#Working:V#QTD:T#QuarterNext1(|CVTime|),S#Budget:V#QTD:T#QuarterNext1(|CVTime|))"):Name(Var %) Thank you
Hi all What is the globals object good for we are seeing in all the business rules?
Hi all, We have a simple copy calculation on a forecast scenario that copies in the actuals data for certain periods, defined in a text field. We've had it for years and it generally works fine with no issues. This quarter though, I'm having an odd issue. There are a handful of intersections that are copying only USD values, but not local values and I cannot for the life of me figure out why. ANY suggestions or thoughts on what to review would be helpful! Here's the calc on the scenario for reference: Text2 field is 3 (technically "Firstforecastmonth=3") on the scenario and I'm looking at M1. There are about five accounts (out of hundreds) that are off, but inconsistently so there's not one specific piece of master data that seems to be driving the issue. Exchange rates are loaded and the entity with the issues is a CAD local entity that's translated into USD. The part that's truly baffling is that it's only copying in the USD value - here's an example
I have created an extender BR to load from a xlsx file with xft named range into a custom table. The file is in the OS cloud fileshare in a specific folder. I am 100% sure the file is set up correctly and the path is not an issue, however I still keep getting an error when running the BR from data management that file is invalid or missing. Can someone please help. Below is the BR . What am i missing Dim fileName As String = "XFD_Plan1.xlsx" '<-- Enter name of Excel fileDim filePath As String = "Applications\OneStreamDevelopment\Batch\Harvest\" '<-- Enter path to Excel file'Note: dbLocation, TableName, LoadMethod & Field names defined in header of each excel "xft" range.BRApi.Utilities.LoadCustomTableUsingExcel(si, SourceDataOriginTypes.FromFileShare, filePath & fileName, Nothing)
Hello, I have a use case where I need to get data from siblings (or parents) for a dynamic calc. Entities A,B are part of the same parent EntityC. Cost1 / Entity A : 1000 Cost1 / Entity B : 500 Cost2 / Entity A : 2000 Cost2 / Entity B : 1000 The calculation of the KPI should be as follow for each entity : (0.5*Cost1 + Cost2) / ( 0.5*Cost1:EntityC + Cost1:EntityC). or : (0.5*Cost1 + Cost2) / ( 0.5*Cost1:EntityA+EntityB + Cost1:EntityA+EntityB). (it's the same really) Just to give more fun to it, this formula should be dynamic, as I have multiple entities and multiple parent... I'm looking for a formula that would help me achieve this ? Regards,
Does anyone has a NotePad++ language definition file for OneStream rules? Thanks in advance.
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
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: 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
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
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.