Button Parameter Not Resolving in 8.4.4
Our two environments are currently on different OneStream versions. DEV is on 9.1.1 and PROD is 8.4.4. We have an upgrade scheduled to get them in sync soon. However, currently facing a parameter resolving and passing issue while trying to migrate some functionality from DEV to PROD. All setups are now equal between the two applications for the workspace that I moved over to PROD. However, I believe version 8.4.4 is having some trouble resolving parameters being passed to a button click that I have on the same dashboard. I have a button whose "Selection Changed Server Task" is set to "Execute Data Management Sequence" and "Selection Changed Server Task Arguments" is set to "{FilteredForecastRollforward_ButtonRan}{SelectedContracts=[|!param_SelectContracts!|]}". Within 9.1.1 DEV this data management sequence runs no problem an receives the value of "Contract1" upon logging. However, in 8.4.4 PROD this parameter is not resolving properly and comes as "|!SelectedContracts!|" in the error log even though the setups are identical. Upon checking the 9.1.1 release notes I noticed that there was a fixed issue number "PF7-9772" under "Dashboard Components" that states "Button Component: The Button dashboard component respects the Selection Changed Server Task value, ensuring that Business Rules are run on the designated servers as configured. (PF7-9772)". Could that fix number be related to my problem? Does version 8.4.4 have a known issue with resolving these parameters. And if so, is there a workaround or do I need to wait until our upgrade for this to be resolved? Button: DM Sequence:83Views0likes4CommentsReturning text from a BR# inside GetDataCell — possible?
I'm building a cube view column that shows combined annotations from descendants. I'm calling an Finance Cell Service BR from inside GetDataCell so I can pass dashboard params needed for the logic. GetDataCell(T#|CVTime|:BR#[BRName=..., FunctionName=CombinedComment, Flux_ID = {fluxID}]:U8#{ud8}):Name({ud8} Combined). I need to the UD8 POV member because that distinguishes what type of comment it is (CMvsPM, CQvsPQ, CMvsPYM, Ect...). The BR returns a String, but GetDataCell expects a numeric amount so the text doesn't render in the cell. Pointing the column at V#Annotation doesn't help either. Has anyone gotten BR-returned text to display in a GetDataCell with full POV/param context? Thanks, Ben39Views0likes0CommentsParameters not working in cube views
Hi all, I'm having a strange problem with cubeviews. I created some parameters to apply a standard formatting to my cube views: when I use them into the cubeview and I launch it, though, they appear in the initial popup without any value, as if they were user input params: am I missing something? is there anything I need to configure to make them work automatically? Any help is appreciated!Solved97Views0likes3CommentsPassing Entity in a Cube View Row to an XFBR in a Cube View Column
Hi all, I have an XFBR that I would like to take the entity member in any given row in a cube view. I've tried |MFEntity| but that doesn't work. |CVEntity| and |POVEntity| don't work either since they can only pass a single entity for a given cube view. Is there a way to get what I need outside of manually doing a column override for every single row in my cube view and hard coding the entity that I need to pass to the XFBR?23Views0likes0CommentsPass through external parameters into dynamic cube view services
Hello, Is there a way to pass a combo box paramater into a cube view service? I think would be through the Service Factory. Since the cube view service runs when the cube view is executed and there is no call as XFBRs or Dashboard extenders, Is there a way to pass parameter values into the cube view service business rule?Solved71Views0likes2CommentsPowerBI Custom Data Adapter
I have built a OS data adapter off of a cube view that has a parameter that prompts for entity. I subsequently built PowerBI query to pull data via this data adapter. I can get the PowerBI query to pull data if I hardcode the Entity parameter value in the Custom Subst Vars in PowerBI. What I would like to do is replace hardcoding the Entity value with list prompt for the user. That will let the user decide which entity they want to pull when they refresh the query. Any ideas on how to create this functionality? #PowerBI180Views0likes2CommentsOS V9 Excel Add-in Parameters Feature
Hi all, I've been playing with this feature for a bit and it would appear that if you've made a cube view connection to a CV that contains parameters based on "Member Dialog", those parameters don't seem to work as expected. The resulting worksheet does create a space for those parameters but in the cell where you would select your member, there is no dropdown available to open and choose. The cell is completely blank. Upon refresh, I am prompted for those member dialog parameters but even the result I choose is not returned to display on the sheet. Doesn't seem to be any issues if the parameter is based on a Member Filter. Am I doing something wrong or is the use of Member Dialog parameters in Excel add-in simply not possible? There is nothing in the existing documentation that I can find that discusses this. Attaching a screen capture of the Excel results:104Views0likes1CommentApplication Reports - duplicated dimensions
Wondering if anyone else is seeing duplicated dimension IDs in some of the built-in Application Reports (the example below is based on the "Member Property Changes Audit Report") We're on V9.1 but have seen the same issue in 7 and 8 as well. The results do vary depending on which of the duplicated dimensions you select. If you've also seen this, has OneStream provided any explanation as to why this exists?55Views0likes1CommentTop N in Cubeview using BR
I am trying to get top N (top 10) customers by revenue account in my cubeview. For this i re-purposed the snippet finance code for List Ranked to this: Namespace OneStream.BusinessRule.Finance.Ranked_list Public Class MainClass Public Function Main( ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As FinanceRulesApi, ByVal args As FinanceRulesArgs ) As Object Try Select Case api.FunctionType Case FinanceFunctionType.MemberListHeaders Return New List(Of MemberListHeader) From { New MemberListHeader("Ranked") } Case FinanceFunctionType.MemberList If args.MemberListArgs.MemberListName.Equals("Ranked", StringComparison.InvariantCultureIgnoreCase) Then Dim header As New MemberListHeader("Ranked") Dim members As List(Of Member) = GetRankedMembers(si, api, args) Return New MemberList(header, members) End If End Select Return Nothing Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function #Region "Ranking Logic" Private Function GetRankedMembers( ByVal si As SessionInfo, ByVal api As FinanceRulesApi, ByVal args As FinanceRulesArgs ) As List(Of Member) Try '------------------------------- ' Required parameters '------------------------------- Dim rankType As String = args.MemberListArgs.NameValuePairs("RankType") Dim rankCount As Integer = Convert.ToInt32(args.MemberListArgs.NameValuePairs("RankCount")) Dim loopMemberFilter As String = args.MemberListArgs.NameValuePairs("LoopMemberFilter") If Not args.MemberListArgs.NameValuePairs.ContainsKey("DataCellToRankMemberFilter") Then Throw New Exception("Missing required parameter: DataCellToRankMemberFilter") End If Dim dataCellFilter As String = args.MemberListArgs.NameValuePairs("DataCellToRankMemberFilter") Dim cubeName As String = New MemberScriptBuilder(dataCellFilter).Cube '------------------------------- ' Determine looping dimension '------------------------------- Dim loopDimPk As DimPk = GetDimPkForLoopMemberFilter(si, api, cubeName, loopMemberFilter, dataCellFilter) Dim membersToLoop As List(Of MemberInfo) = api.Members.GetMembersUsingFilter(loopDimPk, loopMemberFilter, Nothing) Dim rankedCells As New List(Of MemberAndCellValue) '------------------------------- ' Loop members and evaluate cell '------------------------------- For Each mi As MemberInfo In membersToLoop Dim mfb As MemberScriptBuilder = SubstituteLoopMember(loopMemberFilter, dataCellFilter, mi.Member.Name) Dim cell As DataCellInfoUsingMemberScript = BRApi.Finance.Data.GetDataCellUsingMemberScript( si, cubeName, mfb.GetMemberScript ) If cell IsNot Nothing AndAlso Not cell.DataCellEx.DataCell.CellStatus.Invalid AndAlso Not cell.DataCellEx.DataCell.CellStatus.IsNoData Then rankedCells.Add( New MemberAndCellValue( mi.Member, cell.DataCellEx.DataCell.CellAmount ) ) End If Next '------------------------------- ' Rank results '------------------------------- Dim result As New List(Of Member) Select Case rankType.ToUpperInvariant() Case "TOP" result = rankedCells. OrderByDescending(Function(x) x.CellValue). Take(rankCount). Select(Function(x) x.Member). ToList() Case "BOTTOM" result = rankedCells. OrderBy(Function(x) x.CellValue). Take(rankCount). Select(Function(x) x.Member). ToList() Case "MAX" Dim maxItem = rankedCells.OrderByDescending(Function(x) x.CellValue).FirstOrDefault() If maxItem IsNot Nothing Then result.Add(maxItem.Member) Case "MIN" Dim minItem = rankedCells.OrderBy(Function(x) x.CellValue).FirstOrDefault() If minItem IsNot Nothing Then result.Add(minItem.Member) End Select Return result Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function #End Region #Region "Helpers" Private Function GetDimPkForLoopMemberFilter( si As SessionInfo, api As FinanceRulesApi, cubeName As String, loopFilter As String, dataCellFilter As String ) As DimPk Dim cube As CubeInfo = api.Cubes.GetCubeInfo(cubeName) If cube Is Nothing Then Throw New Exception("Invalid cube: " & cubeName) Dim dimType As DimType = DimType.GetItem(loopFilter.Split("#"c)(0)) Dim mfb As New MemberScriptBuilder(dataCellFilter) Dim scenario As Member = api.Members.GetMember(DimTypeId.Scenario, mfb.Scenario) Dim scenarioType As ScenarioType = api.Scenario.GetScenarioType(scenario.MemberId) Dim dimId As Integer = cube.Cube.CubeDims.GetDimId(dimType.Id, scenarioType.Id) Return New DimPk(dimType.Id, dimId) End Function Private Function SubstituteLoopMember( loopFilter As String, dataCellFilter As String, memberName As String ) As MemberScriptBuilder Dim mfb As New MemberScriptBuilder(dataCellFilter) Dim dimType As DimType = DimType.GetItem(loopFilter.Split("#"c)(0)) Select Case dimType.Id Case DimType.Entity.Id : mfb.Entity = memberName Case DimType.Account.Id : mfb.Account = memberName Case DimType.UD1.Id : mfb.UD1 = memberName Case DimType.UD2.Id : mfb.UD2 = memberName Case DimType.UD3.Id : mfb.UD3 = memberName Case DimType.UD4.Id : mfb.UD4 = memberName Case DimType.UD5.Id : mfb.UD5 = memberName Case DimType.UD6.Id : mfb.UD6 = memberName Case DimType.UD7.Id : mfb.UD7 = memberName Case DimType.UD8.Id : mfb.UD8 = memberName End Select Return mfb End Function #End Region #Region "Helper Class" Private Class MemberAndCellValue Public Property Member As Member Public Property CellValue As Decimal Public Sub New(m As Member, v As Decimal) Member = m CellValue = v End Sub End Class #End Region End Class End Namespace After this changed My cubeview row member filter to this, however when cubeview runs , it runs for a bit and then page comes back completely blank : U5#Root.CustomMemberList( BRName = Ranked_list, MemberListName = Ranked, RankType = Top, RankCount = 10, LoopMemberFilter = U5#Total_Customer.Children, DataCellToRankMemberFilter = Cb#Financials :E#TotalEntity :C#USD :S#Actual :T#2026M1 :V#YTD :A#A5 :F#EndBal :O#Top :I#Top :U1#Organization :U2#Project :U3#None :U4#None :U6#None :U7#None :U8#None ) Does anyone know what i could be missing?75Views0likes1CommentCannot reference member expansion 1 from member expansion 2
Hi, I have a cube view with a straightforward requirement. Below is an example of my requirements using the Golfstream app. My rows are set as follows: Member filter 1: U2#Clubs.ChildrenInclusive:name(UD2: |MFUD2Desc|) Member filter 2: T#2011Q1.ChildrenInclusive:name(Time: |MFTime|, UD2: |MFUD2Desc| The below screenshot shows what this returns. The issue is that I need to reference the member filter 1 member from member filter 2. When I use |MFUD2| from member filter 2, it reverts to my top UD2 member rather than reading my UD2 member from member filter 1. I need this to do a more complicated loop through members, and that loop must take the row's UD2 member into account. Any advice or workarounds? User-created parameters and |CVUD2| do not return what I need.40Views0likes1Comment