Cube View - Conditional Formatting
Hi everyone, I'm currently working on a Cube View and would love some help with setting up conditional formatting based on a comparison between two columns. Specifically, I’m trying to highlight in red any cell in the “Actuals” column (Actual CPK @ ACT 2024 rate, Jan 2024) where the value is greater than the corresponding value in the “Cost per kg” column. To give you a clearer picture, I’ve attached a screenshot showing the layout I’m working with. The "Cost per kg" values are budgeted figures, and I'm comparing them to actuals from 2024 to identify any overages. I’d like the Cube View to visually flag these instances, so they stand out during reviews. Of course, the numbers in both columns are exemplary. In the rows I have different Entities. Has anyone done something similar or can guide me on the best way to achieve this? Thanks so much in advance for your support!8Views0likes0CommentsDynamic Dashboard & Cubeview parameters
Hi, I have a classique cubeview that uses !prm_entity! as Entity POV. When using classic Dashboards, everything works as expected. When converting the dashboard from "Embedded" to "Embedded Dynamic" and using a simple Factory service to add the template cubeview stored component, nothing more: then the !prm_entity! POV of the cubeviews seems not interpreted at run time, no prompt showup and this cubeview displays a blank page. When checking cube POV we can see parameter is handled like a string in the POV. Any idea what basic setting i am missing to do in the Dynamic Dashboard way to let OS prompt for the prm_entity parameter value? Thanks in advance,38Views0likes2CommentsReports not displaying in Dashboard
I'm having trouble with a dashboard I'm building. I want to display either an IS or a BS on a single dashboard frame based on user's selection. I've created a list parameter with the options "Income Statement" and "Balance Sheet". However, no matter which option I select, the dashboard only displays the IS. I suspect I'm missing a step to properly link parameter selection to switch between the two reports. I don't have much experience with multi report dashboards up to now, I've only worked on single report dashboards. Could someone help point out what I am doing wrong or guide me on how to make the report dynamically switch based on the parameter. Thanks.15Views0likes1CommentLeverage a CV Rule or parameter to choose row primary dimension
We are looking to have a cube view that uses a parameter or CV Extender to possibly control the primary dimension selection. This is used in a dashboard to show metadata selections with the dimension in the rows and ud8 dynamic formulas across the columns. Looking to see if anyone has any ideas on doing the dimension selection dynamically to use one CV only for display36Views0likes3CommentsBi Viewer - Prior Time Totals
I have a daily report in bi viewer. This works by selecting the Week from a combo box and then it displays the days within that week (based on a sql table). I want to have the prior weeks show up as totals. Can't figure out how to do this within BI viewer or if I'll have to create a more defined sql query. Below are the screenshots from current setup. In this example I want to also see W1-4 but at their totals. Select Week combo box:11Views0likes0CommentsCombining/Joining DataSets
Hi Everyone. I am unable to join datasets and suing below code. Purpose: is to combine the outcome of 2 method queries WF Status and CertificationStatus to get a single table. Kindly help with your comments or guidance: Imports System Imports System.Collections.Generic Imports System.Data Imports System.Data.Common Imports System.Globalization Imports System.IO Imports System.Linq Imports System.Windows.Forms 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.DashboardDataSet.GetWFStatusandCertification Public Class MainClass Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardDataSetArgs) As Object Try Select Case args.FunctionType Case Is = DashboardDataSetFunctionType.GetDataSetNames Dim DSnames As New List(Of String)() DSnames.Add("GetWFStatusandCertificationF") Return DSnames Case Is = DashboardDataSetFunctionType.GetDataSet If args.DataSetName.XFEqualsIgnoreCase("GetWFStatusandCertificationF") Then Dim WFTable As DataTable = New DataTable("WFSTATUS") Dim CertTable As DataTable = New DataTable("WFCertSTATUS") Dim CertTable1 As DataTable = New DataTable("WFCertSTATUS1") Dim CertTable2 As DataTable = New DataTable("WFCertSTATUS2") Dim WFTime As String = "2023M12" 'args.NameValuePairs("2023M12") Dim WFScenario As String = "Actuals" 'args.NameValuePairs("Actuals") Dim WFName As String = "P1000 Group" 'args.NameValuePairs("P1000 Prudential Group") Dim methodTypeId As String Dim methodQuery As String Dim resultDataTableName As String Using dbConnApp As DBConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si) 'Create Tables in Memory WFTable.Columns.Add("ProfileKey") WFTable.Columns.Add("ProfileName") WFTable.Columns.Add("ScenarioName") WFTable.Columns.Add("TimeName") WFTable.Columns.Add("StatusText") WFTable.Columns.Add("LastExecutedStepStatus") WFTable.Columns.Add("LastExecutedStepTimeUTC") WFTable.Columns.Add("LastExecutedStepTimeEST") methodTypeId = XFCommandMethodTypeId.WorkflowStatus methodQuery = "{" & WFName &"}{" & WFScenario & "}{" & WFTime & "}{AllProfiles}{Descendants}{}" resultDataTableName = "WFSTATUS" Dim customSubVars As New Dictionary(Of String, String) Dim objDataSet As DataSet = BRApi.Database.ExecuteMethodCommand(dbConnApp,methodTypeId,methodQuery, resultDataTableName,customSubVars) For Each Row As DataRow In objDataSet.Tables("WFSTATUS").Rows Dim easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time") Dim EST = TimeZoneInfo.ConvertTimeFromUtc(Row.Item("LastExecutedStepTime"), easternZone) WFTable.Rows.Add(Row.Item("ProfileKey"),Row.Item("ProfileName"),Row.Item("ScenarioName"),Row.Item("TimeName"),Row.Item("StatusText"),Row.Item("LastExecutedStepStatus"),Row.Item("LastExecutedStepTime"),EST) Next 'Return WFTable End Using Using DBConAppForCert1 As DbConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si) CertTable1.Columns.Add("ProfileName") CertTable1.Columns.Add("ProfileKey") CertTable1.Columns.Add("ScenarioKey") CertTable1.Columns.Add("ScenarioName") CertTable1.Columns.Add("TimeKey") CertTable1.Columns.Add("TimeName") methodTypeId = XFCommandMethodTypeId.CertificationForWorkflowUnit MethodQuery = "{" & WFName & "}" & "{" & WFScenario & "}" & "{" & WFTime & "}" &"{True}" &"{}" resultDataTableName = "WFCertSTATUS1" Dim CustomSubVars As New Dictionary(Of String, String) Dim ObjDataSet As DataSet = BRApi.Database.ExecuteMethodCommand(DBConAppForCert1,methodtypeid,methodQuery,resultDataTableName,CustomSubVars) For Each Row As DataRow In ObjDataSet.Tables("WFCertSTATUS1").Rows CertTable1.Rows.Add(Row.Item("ProfileName"),Row.Item("ProfileKey"),Row.Item("ScenarioKey"),Row.Item("ScenarioName"),Row.Item("TimeKey"),Row.Item("TimeName")) Next ' Return CertTable1 End Using Using DBConAppForCert2 As DbConnInfo = BRApi.Database.CreateApplicationDbConnInfo(si) CertTable2.Columns.Add("ProfileKey") CertTable2.Columns.Add("ScenarioKey") CertTable2.Columns.Add("TimeKey") CertTable2.Columns.Add("SignOffState") CertTable2.Columns.Add("UserName") CertTable2.Columns.Add("TimeStamp") methodTypeId = XFCommandMethodTypeId.CertificationForWorkflowUnit MethodQuery = "{" & WFName & "}" & "{" & WFScenario & "}" & "{" & WFTime & "}" &"{True}" &"{}" resultDataTableName = "WFCertSTATUS2" Dim CustomSubVars As New Dictionary(Of String, String) Dim ObjDataSet As DataSet = BRApi.Database.ExecuteMethodCommand(DBConAppForCert2,methodTypeId,MethodQuery,resultDataTableName,CustomSubVars) For Each Row As DataRow In ObjDataSet.Tables("WFCertSTATUS2_SignOffGroups").Rows CertTable2.Rows.Add(Row.Item("ProfileKey"),Row.Item("ScenarioKey"),Row.Item("TimeKey"),Row.Item("SignOffState"),Row.Item("UserName"),Row.Item("TimeStamp")) Next ' Return CertTable2 End Using ' ' Return WFTable Dim DS_CertStatus As New DataSet("DS_CertificationStatus") DS_CertStatus.Tables.Add(WFTable) ' DS_CertStatus.Tables.Add(CertTable1) DS_CertStatus.Tables.Add(CertTable2) DS_CertStatus.Relations.Add("ProfileKeyRelation",DS_CertStatus.Tables(0).Columns("ProfileKey"),DS_CertStatus.Tables(1).Columns("ProfileKey"),False) Return DS_CertStatus End If End Select Return Nothing Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function End Class End NamespaceSolved61Views0likes9CommentsRead a specific cell value from a Spreadsheet object
I have a need to read a cell value from a Spreadsheet object (Cell D3 to be specific) that will change the color of a button object in a dashboard. The cell converts color parameters to ARGB style, and I want to use this to show an example of the color in another object. Thoughts? I want the cell vale to set a literal parameter which will refresh the object12Views0likes0CommentsInteractive prompt
Hi all, it is pretty straight forward in an dashboard extender rule to return a message box to be displayed to the user in the dashboard (like the picture below). The question I have is: is it possible to prompt the user with what I would call an interactive prompt, a prompt having a Yes and No buttons for example, and for the dashboard extender rule code to store the result of the selection for use in the rule code itself? This would be useful when displaying a warning for example. We could prompt the user with the warning and then ask if they still want to proceed or not. Thank youSolved2.5KViews0likes4CommentsComponents' Dynamic state for dynamic dashboard
Hello, I am trying to get my dynamically created buttons to execute a server task. I can create all the buttons I need in my dynamic dashboard, but as soon as I try to get them to execute a dashboard business rule, I get an error message : I have checked my services, and Everything gets validated. My WsDynamiccomponentCollection is as follow : Dim currentcomps As WsDynamiccomponentCollection = api.GetDynamicComponentsForDynamicDashboard(si, workspace, dynamicDashboardEx, string.empty, Nothing, tristatebool.TrueValue, wsdynamicitemstatetype.EntireObject) I am also using the functions SaveDynamicDashboardState and SaveDynamicComponentState : api.SaveDynamicDashboardState(si,dyncomp2,dynamicDashboardEx,wsdynamicitemstatetype.EntireObject) api.SaveDynamicComponentState(si,dynamicDashboardEx.DynamicDashboard,dyncompex2,wsdynamicitemstatetype.EntireObject) (dyncomp2 and dyncomp2ex being the button I am creating). --> It seems that it creates a list of dashboard and/or components in a new table called "wsDynamicItemState", but that's it. The ID code that I have in the error message exist in the table, under the "itemID" column: Any insights on how to resolve this issue, as well as this "component state", are welcome :) Regards,Solved58Views0likes2Comments