Discuss formulas and business rules for your application.
Recently active
Dear community, I currently have a Business Rule connector that works fine. However, I would like to pass a parameter from a dashboard into the SQL query of the connector. This is because the user should load a set of data but they can decide which "slice" of data to use. Hence, the connector should filter the data, and then I need to pass an input parameter to my SQL query within my connector. Any possible way to do that ? Regards,
Dear Team, I'm trying to understand what caused the low performance of my code. I see that it's because of many loops, but I'm wondering if there's any possible way to fix it: Dim ResultDataBuffer As DataBuffer = New DataBuffer() Dim sAccounts As List(Of String) = New List(Of String) From { "1711050", "2742020", "1712020", "2745060", "1346010", "2413010", "1742050", "2716050", "1745010", "2713010", "3221010", "3221020", "3221030", "4451010", "4451020", "4451030", "1722060", "2741030", "4541070", "4321020", "4541010", "4541020", "3222010", "4452010", "4541030", "4541040", "4541050", "4541060", "5111010", "5111020"} Dim mICFilter As List (Of Member) = api.Members.GetBaseMembers(api.Pov.EntityDim.DimPk,api.Members.GetMemberId(dimtype.
Api.Data.Calculate(“A#28100=A#69000”) What is wrong with writing a calculation like this? Tips. A#28100 might contain thousands of cells. Calculation MAY work but will damage performance. Defining more dimensions reduces the number of cells that need to be processed. A#28100 = 10 Flow x 1 IC(None) x 3 Origin x 10 UD1 x 20 UD2 x UD3 x UD4 etc Defining more Dimensions reduces the number of cells OneStream has to process. Write the rule as follows: To learn more see GES - Level 2: Financial Model Rules Course Level2-Rules.pdf (hubspotusercontent30.net)
Hi, I have a Spreadsheet BR that creates a tableview and I want a certain dashboard extender function to be triggered when they submit the data from the tableview(spreadsheet) I think this is the way to go but probably because of the namespace, I cannot do this definition. See the screenshot at the bottom. _______________________ Any help is appreciated
Hi! I have a business rule which allocates all PL accounts from a group of entities in one segment to other segments. However, I would like to exclude accounts that are IC from the allocation. I have classified the accounts that I would like to exclude with the text "ICElim" in box "Text 8", under "Vary by scenario type & time" in Member Properties, in the account dimension. So, in the following code string, I would like to exclude those accounts. Do you have any suggestions on how to change the code string below so that it excludes these accounts instead of picking all PL accounts? Dim bIsPL As Boolean = api.Members.IsBase(api.Pov.AccountDim.DimPk, api.Members.GetMemberId(dimtype.Account.id, "PL"), cell.DataBufferCellPk.AccountId)
Hi, I'm trying to retrieve the value of the field "Text - Text 8" for an account dimension member. What formula should I use to get this value? Thank you in advance!
hello, good day; I created a new finance rule calculating the cash flow accounts using as source the balance sheet accounts, the hierarchy is not part of the balance sheet, it's at the same level; when I consolidate or translate the cash flow accounts, the amounts were deleted; but not for Balance accounts. Do I miss something in the finance calc for the data will be durable or something like that? thanks in advence and Best Regards.
Hi - has anyone tried to replicate excel Goal Seek function in Onestream. We have a bonus model calculation in excel which uses excel goal seek and circular reference with iterations options in Excel. We want to replicate it in Onestream. Has anyone done similar excercise.
Hi Everyone. Is there a way to prevent the insertion of duplicate information using that function? Dim selectionChangedTaskResult As New XFSelectionChangedTaskResult() selectionChangedTaskResult.ShowMessageBox = True Try Dim loadResults As New List(Of TableRangeContent) Dim fileInfo As XFFileEx = BRApi.FileSystem.GetFile(si, FileSystemLocation.ApplicationDatabase, strFilePath, True, False, False, SharedConstants.Unknown, Nothing, True) If strFilePath.XFContainsIgnoreCase("xlsx") Then loadResults = BRApi.Utilities.LoadCustomTableUsingExcel(si, SourceDataOriginTypes.FromFileUpload, "Temp.xlsx", fileInfo.XFFile.ContentFileBytes) selectionChangedTaskResult.Message = "File [" & strFilePath & "] Loaded" selectionChangedTaskResult.IsOK = True Else selectionChangedTaskResult.Message = "File [" & strFilePath & "] NOT Loaded" selectionChangedTaskResult.IsOK = False End If 'Delete the temp file If boolDeleteTemp
Howdy, Background: I have a data management job that runs a Business Rule. I have created a dashboard with a button that can trigger this data management step. Problem: As an Administrator I can run the data management job, or I can click the dashboard button. As a user when attempting to use the button the following error happens: "Summary: Error processing Data Management Step 'xxx'. Unable to execute Business Rule 'yyy'. Object reference not set to an instance of an object." I have read that this is really just a catch all error. I think I have narrowed the problem down and believe it is because the users do not have permissions on the BatchHarvest Folder (which is referenced in the job). So, one question I have is: can a Data Managment job be triggered to run "as an admin" that I could assign to the button?
Hello, I am trying to adjust the code below to handle the following situation: The client loaded data for Test Rate and Test Count on UD1 "ID". The data buffers defined for prior month (TotDirCOGSDataBuffer and DirCOGSDataBuffer) do not have any values for UD1 "ID". The client wants to do the calculation for UD1 "ID" as follows: take the prior month data from another UD1 member, multiply with the Test Rate and Test Count for UD1 "ID" and place the results on UD1 "ID". How I can accommodate this change, considering this will happen also in the future when they need to perform a calculation on a UD1 member which does not have values in prior months? 'api.Data.ClearCalculatedData(True,True,True,True,"U7#DirCOGS_Calc") api.Data.ClearCalculatedData(True,True,True,True,,,,,,,,,,,"U7#DirCOGS_Calc",) 'Create a result data buffer and destination info to add the cells to later Dim resultDataBuffer6 As DataBuffer = New DataBuffer()
Morning All, I'm working on a new solution to avoid having many, many separate confirmation rules with their own code which is almost identical in each case, and instead move to using a public function so that the similar code is recycled. Seems like a sensible idea! I've got a basic prototype roughly working. So I've created a public function in Finance Business Rules which I am then calling from inside the confirmation rule code. ie. the first code snippet is the public function and the second code snippet is the confirmation rule code calling it. So far, so good and I've proved that the public function is indeed running when I run the confirmation rule (the error log message appears as expected) so I'm pleased so far! What I now want to do is pass in some parameters from each confirmation rule, ie. the only thing that will be different in most cases is which accounts are being checked. So here is where I'm stuck. Within the code that calls the public function I want to be able to pu
Hello, The client has a calculation for the planning process where I used the prior period values in the calculation for current month values. Here is the data buffer I created: Dim OpCostsDataBuffer As DataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(RemoveZeros(F#Top:O#Top:T#POVPrior1:I#Top:U5#None:U6#None:U7#Top:U8#Top),A#Op_Costs.Base,U1#Top.Base, U2#Top.Base) Then, the client had another idea to accommodate where if the calculation is for first month (M1) take a 3-month average and then for the calculation of the subsequent months (M2 – M12) revert to the original logic of trending on prior month – POVPrior1. I added this logic, where I included an IF statement: Dim OpCostsDataBuffer As DataBuffer = New DataBuffer ()If POVPERIODNUM = 1 Then OpCostsDataBuffer = api.Data.GetDataBufferUsingFormula("FilterMembers(RemoveZeros(F#Top:O#Top:T#" & Year1 & "Q4" &":I#Top:U5#None:U6#None:U7#Top:U8#Top),A#Op_Costs.Base,U1#Top.Base, U2#Top.Bas
Hi Community, We have a cubeview that pulls more than 40k records when run for a period in a dashboard. It runs base level for couple of UDs that have ~30k members and 200 members. It renders fairly quickly on dashboard although with paging, but when for exporting the output and running using FDX via DM job (through BR) its taking a lot of time to run. I thought time it takes to run a CV manually should be same when called via Business Rule. Please let me know how can I match the cube view performance when run manually to when I call in a Business Rule. I checked and matched the sparse rows settings both in rows and columns among other checks to match but cannot figure out why it runs slower when i run through business rule.
I'm trying to write a business rule creating a KPI which returns the value of an account for same period previous year. I already have a working business rule creating a KPI which returns the value of the current period which has the following formula: Return api.Data.GetDataCell("A#38999:T#" & api.Pov.Time.Name &"").CellAmount Where 38999 is the account number for which I want to get values. What formula should I use to, instead of the current period, get the current period but for the same period previous year? Many thanks in advance!
Dear community, When we execute an allocation in OneStream (the one when we right click on a Cube View cell), we can indeed execute an allocation. I was checking but I couldn't see any logs or audit information regarding this allocation. Does anybody know if there's an audit table, or any logs, that are related to this allocations ? On the other hand, are there any event handler related to the execution of this allocation ? Regards,
I need to export the annotation and data for certain intersection to an external table. I am able to do that using FDX from cube view but can that be done without a cubeview? I am not sure if FDX of data unit would work and if does then how to? When I used that I get only the data.
I am able to get some export using the FdxExecuteCubeView function but the exported data does not match with the Cube View. I add too many columns in the export and a lot of columns that are in the actual CV are missing. For instance the below two rows are same in terms of data, but the excel export from data explorer shows the entity ID, while it does not show that entity ID in the data table exported to external SQL table. Also, there are missing annotation columns in the data table export too. Code: (I don't want to filter anything)
I am trying to save the XML files in the application zip file as separate XML files rather than a single zip. I get the zip file as a byte array and then pass that to XFZip.Unzip The code executes without an error and without any files being saved as well. Does anyone have any suggestions or can point out where I am going wrong with the code? OnPrem V7.4.2 Dim xmlOptions As New XmlExtractOptions xmlOptions.ExtractAllItems = True Dim folderNameForExtract As String = "XMLs" Dim extractPath As String = $"{Environment.GetEnvironmentVariable ("Temp")}\{folderNameForExtract}\" 'Execute the Metadata Extract Using dbConnFW As DBConnInfo = BRAPi.Database.CreateFrameworkDbConnInfo(si) Using dbConnApp As DBConnInfo = BRAPi.Database.CreateApplicationDbConnInfo(si) Dim zippedBytes As Byte() = ApplicationZipFileHelper.Extract(dbConnFW, dbConnApp, Nothing, xmlOptions) XFZip.Unzip(zippedBytes, extractPath) End Using End Using
Afternoon All, I'm looking to create a set of standardised confirmation rules as Finance Business Rules which I then want to reference from the confirmation rule itself to cut down on maintenance. I'm pretty sure this is possible and I've seen some other discussions but I can't quite figure out the code to use in the confirmation rule to trigger the finance rule. I've seen Dim sharedFinanceBR as New OneStream.BusinessRule.Finance.RulesName.MainClass as an option but this syntax doesn't seem to be available in the confirmation rule code. I think maybe it only works in only business rule types? Is anybody willing to share their code please? (Just the part that triggers a public function from a confirmation rule). Thanks! Richard
Hi, Has anyone had success with viewing the GolfStream reporting formulas such as Return on Assets or Asset Turnover? I'm trying to learn how to write some ratios and it would be so helpful to view these. Unfortunately, the formula is greyed out. Please see below.
Dear Community, I am trying to run an allocation finance rule. I believe I have set up everything for that in the business rule. However, upon running the BR I get the message "An internal method is not implemented" Please find below the business rule (currently set on a demo asset) : Dim MyAllocationType As allocationtype = Allocationtype.EvenDistribution Dim MyAllocationOptions As New allocationoptions Dim MyAllocationResult As New AllocationResult MyAllocationOptions.AllocationType = MyAllocationType If MyAllocationType = AllocationType.EvenDistribution ' The value to allocate MyAllocationOptions.SourcePOVMemberScript = "Cb#Houston:E#[Houston Heights]:C#USD:S#BudgetV2:T#2022M12:V#Periodic:A#2000_100:F#None:O#Import:I#None:U1#None:U2#Mach5:U3#NA:U4#[Active Hub]:U5#None:U6#None:U7#None:U8#None" ' Any override to be done on source value MyAllocationOptions.SourceCalcScript = "A#SourcePOV * 0.1" ' Target POV, must be lowest level on all dim except the one being allocated MyAllo
I am trying to extract a static cube view data but getting an error. The CubeView has all static members except the time dimension |WFTime| but I made it static in my code just to be sure. To begin with I only need the data table. But I am getting below error
Hi everyone, I'm having trouble logging a databuffer to the error log. I want to be able to do this to debug some code I've written. I got this concept from the Finance Rules and Calculation Handbook so I believe it's possible but I can't get it to work for me! In the first screenshot is the code. The red box shows the logdatabuffer script that I've written. I know there is data in the databuffer because it produces sensible results (ie. the green box) albeit not quite right, hence why I want to visualise it. The second screenshot shows what I see in the error log. I believe I should be seeing the databuffer results in the orange box area but I just see a blank. Do I need to "switch on" this functionality somehow? What am I doing wrong?!!! Thanks in advance,Richard
I've got a Tableview embedded in an Excel workbook and would like to be able to prompt the user to select an entity and period that is then used to filter records. Is this possible?
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.