CVR and GetDataCell Issue in cube views
Hello, I currently have a cube where I am having an issue calculating variances. The row has GetDataCell(CVR(Row1)+CVR(Row2)) and Column is has T#POV, T#POVPrior12, GetDatacell(T#Pov-T#POVPrior12). When I run the report, the first two columns run correctly for T#POV and T#POVPriorYear, but the third column where the two get data cells meet does not calculate correctly. I can't get it to work on a column override either as I know there is a order of operation for the GetDataCell. I want to keep the report as dynamic as possible, is there a way this can be achieved without breaking the columns out and manually doing the overrides?13Views0likes0CommentsBi-Viewer - Title and Legend
Bi-viewer appears to be limited on font size and type in version 8.5. So, what I've done is created anpng file through paint and chose the Load option in my Title in my bi-viewer to work around the original legend that is too small. What this allows me to do is have the font whatever size I want and I can make my legend line up with my bar chart. Looks beautiful on the client, but as always, the browser requires something "special". Is there anyway that I can use this thought pattern to make it appear on the browser. The Load function only looks at my cdrive which will not work on the browser. I tried uploading it to Data Explorer to get it on Onestream and then using that url in my image, then attaching my image to the same dashboard where my bi-viewer runs but it doesn't embed it into my chart so browser doesn't like that either. Regardkess if what I try, I just get the picture icon where my Title should be. Any ideas? ....even if it's something I've not mentioned here? Thanks ahead of time.37Views0likes0CommentsApplication 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?44Views0likes1CommentTop 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?64Views0likes1CommentGenesis - Drill down > Open in New Tab
I am testing out drill functionalities in Genesis and found this "Open in New Tab" being grey out. I checked the cv in the page and am unable to find any config in this cv that relates to this. How do I make this option active for use? it will be really useful to see the drill results in another tab so that it can be view side by side with the original dashboard.Solved52Views0likes1CommentGenesis: BI Viewer Configuration, Data Source, Excel
Currently I get the following error when trying to make a data source from an Excel sheet: As I have tried to narrow the information down due to endless error messages the file looks like this My question is: Where do I find a description of how to set up a data adapter in Genesis to an Excel sheet.Solved55Views0likes2CommentsDashboard to show annotations details, footnote details, assumptions, variance explanations ...
Dear Community, It is very easy for a user to add comments on a given cell, using data attachments : However, what are the reporting possibilities for such comments ? Could we use them in dashboard, for instance to be shown as footnote of a dashboard ? Or could these be used as footnotes in pixel-perfect pdf documents generated from a cube view ? Many thanks,2.8KViews0likes4CommentsBI Viewer drill down without hidden data items
I'm trying to create a drill down in a BI Viewer dashboard using only a data set return. I can add a column (in this case "category") to both the Dimensions and Measures area. I then enable the drill down under Data > Drill Down, however, once the drill down is active, the Category column is hidden on the output and won't show until you drill into a row. I want to ability to drill into a row, but a user needs to see the Category column first before drilling. Is there a way for me to drill into a dataset without using "hidden" dimensions and measures for a column? Also - what is the difference between "Dimension" and "Measure"? Thanks!20Views0likes1Comment