Recent Discussions
More Filters in FdxExecuteDataUnit
Hello, I'm building Dashboard Data Set business rule to retrieve data from cubes. Besides the member filters in FdxExecuteDataUnit parameters, I'd like to add some additional filters, like account dimension filters, UD1,/UD2/UD4 dimension filters. And filters could include plenty of values. How can I make it work? I try to defined it in below manner, but the result is not filtered as expected. Dim additionalFilter As String = "Account = 'EBIT' OR ACCOUNT = 'CAPEX'" 'Execute FDX query dt = BRApi.Import.Data.FdxExecuteDataUnit( si, "Total_Magna", ' Cube name "E#Parent1,E#Parent2", "C#USD", ScenarioTypeId.Actual, "S#Actual", "T#2025M1", "V#Periodic", True, additionalFilter, 100000, False )Bella_Yu37 minutes agoNew Contributor II17Views0likes5CommentsLosing Dynamic Parameters on Dashboard Refresh
Hello, I would be very grateful if someone could offer some direction on fixing the issue of dynamically generated parameters disappearing on a refresh action. When the dashboard initially loads, all of the dynamic parameters render as expect. I have an extender service setting the count of parameters to 2 for each param type (Debits,Credits). These work off two stored member list parameters, par_DebitList and par_CreditList. When the dashboard is refreshed, I lose the _dynamic_2 even though the parameter count is still 2. Public Function GetDynamicParametersForDynamicComponent( _ ByVal si As SessionInfo, ByVal api As IWsasDynamicDashboardsApiV800, ByVal workspace As DashboardWorkspace, ByVal maintUnit As DashboardMaintUnit, ByVal dynamicComponentEx As WsDynamicComponentEx, ByVal customSubstVarsAlreadyResolved As Dictionary(Of String, String)) _ As WsDynamicParameterCollection Implements IWsasDynamicDashboardsV800.GetDynamicParametersForDynamicComponent Try If api Is Nothing Then Return Nothing Dim CompName As String = dynamicComponentEx.DynamicComponent.Component.Name If CompName.Contains("CBX_Credits") Or CompName.Contains("CBX_Debits") Then Dim params As WsDynamicParameterCollection = api.GetDynamicParametersForDynamicComponent( _ si,workspace,dynamicComponentEx,String.empty,Nothing,tristatebool.TrueValue,WsDynamicItemStateType.MinimalWithTemplateParameters) Dim paramname As String = Nothing If CompName.Contains("CBX_Credits") Then paramname = "par_CreditList" Else paramname = "par_DebitList" End If Dim ParamComp As WsDynamicCompParamMemberEx = params.GetParameterUsingBasedOnName(paramname) Return params Else Return api.GetDynamicParametersForDynamicComponent(si, workspace, dynamicComponentEx, String.Empty, Nothing, TriStateBool.TrueValue, WsDynamicItemStateType.MinimalWithTemplateParameters) End If Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function This is my setting on the combo box: When refreshing the dashboard, all the components render, but just the parameters are lost. When loading the dashboard, GetDynamicParametersForDynamicComponent executes 8 times, while on a refresh it is only executing 6 times. Would appreciate any guidance on this. Thanks!BenEppel2 days agoContributor90Views0likes5CommentsRetrieve App Names from Development Environment via Business Rule
Hi, as the title suggests, I'm looking for a way to pull a list of all app names that reside within our Development environment. I know the Snapshot report provides this (but BR are encrypted), but I was wondering if there's a BR way to achieve it. Here is a snippet of what I was attempting to. Please feel free to critique or provide suggestion. Thank you! Dim brapi As BRApi = CType(api, BRApi) Dim dbConnFramework As DbConnInfo = brapi.Database.CreateFrameworkDbConnInfo(si) Using dbConnFramework Dim connectionlink As String = si.WebServerUrlUsedByClient 'Here I was trying to access the environment DB which I believe holds the records Dim sql As String = "SELECT AppName FROM dbo.App ORDER BY AppName" Dim sb As New StringBuilder() sb.AppendLine("----------- OneStream Applications in Dev ---------") sb.AppendLine("") Dim rowCount As Integer = 0 Using dt As DataTable = brapi.Database.ExecuteSql(dbConnFramework, sql, True) If dt.Rows.Count = 0 Then sb.AppendLine("No applications found.") Else For i As Integer = 0 To dt.Rows.Count - 1 sb.AppendLine((i + 1).ToString() & ". " & dt.Rows(i)("AppName").ToString()) Next End If rowCount = dt.Rows.Count End Using sb.AppendLine("") sb.AppendLine("Total Applications: " & rowCount) Throw New XFUserMsgException(si, "", "", connectionlink.ToString()) End UsingSolvedcarbon5 days agoNew Contributor III68Views0likes6CommentsUpdate bound parameter value without refreshing Tree View
Hi, I have a Tree View in my dashboard that contains some items, I want that each time the user selects an item in the tree, this bound parameter in the Tree View updates: So I've set that each time an item is selected in the tree, the dashboard containing the Tree View gets refreshed to update the parameter. The Tree Type is set as "Search" and the problem is that when the dashboard gets refreshed the text box of the search bar gets cleaned and all the items the user might have opened to get to a specific one also get closed. A workaround that I have found is to call a component service function to store the bound parameter into a variable in order to get the value without refreshing (I'm using assemblies). I've already tried using XFSelectionChangedTaskResult, but it doesn't help. I was wondering if there was any other way to do this that I'm missing. Thanks :)SolvedCaccia8 days agoNew Contributor II29Views0likes2CommentsUpdate bound parameter value without refreshing dashboard
Hi, I have a tree view component with this bound parameter: When an item in the Tree is selected, I want the parameter "userSelection" to update accordingly, for this reason I've set it to refresh once an item is selected. The problem is that all the parent items the user opened to get to the selected item get closed once the dashboard gets refreshed, but I can't find a way to update "userSelection" without refreshing. The only workaround I found is to save the parameter value into a variable, but it can be only accessed by components since I'm in a component service (I'm using assemblies). So, do you know any way to save the value into "userSelection" parameter without refreshing? (I've already tried using SelectionChangedTaskInfo but it doesn't work) Thank you.Caccia9 days agoNew Contributor II3Views0likes0CommentsInvalid destination data unit in script
I'm making my first attempt at using the DataBuffer to perform a data copy from a source scenario to a destination scenario. This is being done through a Data Management (DM) step and a Custom Calculate business rule. To keep things simple for this initial version, the input values are hard-coded. Dim dbSource As DataBuffer = api.Data.GetDataBufferUsingFormula("S#Budget:T#2026M7:A#CF101:O#AdjInput:E#ES", DataApiScriptMethodType.Calculate, False) Dim destinationInfo As ExpressionDestinationInfo = api.Data.GetExpressionDestinationInfo("S#Forecast_Q2:T#2026M7:A#CF101:E#ES:O#AdjInput") api.Data.SetDataBuffer(dbSource, destinationInfo,,,,,,,,,,,,,False) Appreciate any inputs to fix this. ThanksSolvedsvj1210 days agoNew Contributor II64Views0likes3CommentsGetting the parent dashboard name of an embedded dashboard ?
Hello, I am currently working on the solution which consist of a dashboard page that can be embedded in other dashboards. For this solution, I would like to reference the name of the parent dashboard where the embedded dashboard is currently embedded. Are there any standard functionalitity / functions that would catch the main or parent dashboard of an embedded dashboard ? Many thanks for your insights. Regards,Sergey16 days agoOneStream Employee27Views0likes2CommentsCatch Button action (save/force calculte) with Eventhandler
Hello, I am currently working on some Eventhandlers to prevent a group of users to execute calculate/translate/consolidate in dedicated scenarios. This was easy to do and works fine. But we have created a button in a dashboard which combines a save action "save data for all components" with a Server Task "Force Calculated" and I don“t know how to catch this button in an Eventhandler. Any hints how to do this? Regards MartinMartin_Gebhartl17 days agoNew Contributor III18Views0likes1CommentWhat IMPORT should i use for the SECURITY updates for BRApi
Hi All, i am new to OneStream, i tried creating BR for Security automation. below is my entire code in OS-BR. Imports System Imports System.Collections.Generic Imports System.Data Imports System.Data.Common Imports System.Globalization Imports System.IO Imports System.Linq Imports Microsoft.VisualBasic Imports OneStream.Finance.Database Imports OneStream.Finance.Engine Imports OneStream.Shared.Common Imports OneStream.Shared.Database Imports OneStream.Shared.Engine Imports OneStream.Shared.Wcf Imports OneStream.Stage.Database Imports OneStream.Stage.Engine Namespace OneStream.BusinessRule.Finance.BR_UserManagement Public Class SecurityGroupHelper Public Sub ShowQAGroups(ByVal si As SessionInfo, ByVal api As FinanceRulesApi) Try ' Get all security groups using the API passed to the function Dim allGroups As GroupInfo = BRApi.Security.Admin.GetGroup(si, "QA_Admin") ' Loop through all groups and display a MessageBox for each that starts with "QA_" For Each grp As MemberInfo In allGroups If grp.Member.Name.StartsWith("QA_") Then MessageBox.Show(grp.Member.Name, "QA Group Found") End If Next Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Sub End Class End Namespace --------------------------------------------------------------------------------------- I am getting error as below. i am not sure what mistake in the code. one i am sure about messagebox.show. Error compiling Business Rule 'BR_UserManagement'. 1) Error at line 27: Expression is of type 'GroupInfo', which is not a collection type. 2) Error at line 29: 'MessageBox' is not declared. It may be inaccessible due to its protection level.DK_OS21 days agoNew Contributor65Views0likes5Comments