Skip to main content

OneStream

How to Add Runtime Details to OneStream XF Reports

Providing runtime details in the header of a report is crucial for compliance and tracking potential data validation issues. In this blog post I define runtime details as adding the time / date stamp, calculation status, cube view name, and cube view time to the header of a report. OneStream XF considers adding these details to reports cube view best practice.

Runtime details allows reports to be circulated with a clear understanding of the time they were created and the purpose they serve. Furthermore, data validation issues can be flushed out using this method as it also states the calculation status of the report. If users are finding they have varying numbers between two reports, the calculation status field will show if the report has been consolidated between the two runtimes. Bottom line, having a detailed header “protects users from themselves”.

For the remainder of this blog post, I will demonstrate two approaches to adding runtime details to reports.

Using BR String to create a detailed header in a report

Using BR String is the best way to create the most detailed header possible. The function below titled “GetCalcStatus” uses name value pairs in combination with substitution variables to provide results for calculation status. I have pasted the code below that can be added to a XFBR business rule. In our example the name of the XFBR rule created is “CalcStatus”.

Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardStringFunctionArgs) As Object
Try

    If (args.FunctionName.Equals("GetCalcStatus", StringComparison.InvariantCultureIgnoreCase)) Then
    'Get the Passed in parameters
        Dim paramCubeValue As String = args.NameValuePairs("ParamCube")
        Dim paramEntityValue As String = args.NameValuePairs("ParamEntity")
        Dim paramParentValue As String = args.NameValuePairs("ParamParent")
        Dim paramConsValue As String = args.NameValuePairs("ParamCons")
        Dim paramScenarioValue As String = args.NameValuePairs("ParamScenario")
        Dim paramPeriodValue As String = args.NameValuePairs("ParamPeriod")

        Return BRApi.Finance.Data.GetCalcStatus(si, paramCubeValue, paramEntityValue, paramParentValue, paramConsValue, paramScenarioValue, paramPeriodValue)

    End If

  Catch ex As Exception
    Throw ErrorHandler.LogWrite(si, New XFException(si, ex))
  End Try
End Function

Onestream - Modern Accounting: How to Overcome Financial Close Challenges
Modern Accounting: How to Overcome Financial Close Challenges

Improvements in each of the following period-close core tasks can provide transformative change and are reviewed in this guide include closing the books and external reporting, periodic reconciliations, and managing the period-close process.

Get the Guide

The business rule provides the calculation status for a cube view given the cube, entity, parent, consolidation member, scenario and period. The following steps detail how to bring this rule into your cube view reports.

  1. Add a new row to the top of your cube view.
  2. In this example, we have the account dimension in our rows. We will make our new row an account and enter the following into the member filter:

Using the member filter above, we are creating a name for a blank row. To dissect the member filter further, see the definitions below:

  • A#None
    • Returns a blank row for the account dimension
  • :Name()
    • Creates a user defined name for the member listed prior
  • Report Name: |CVName| |CVTimeDesc|
    • Uses substitution variables to return the name of the cube view report and the description of the cube view time
  • CalcStatus: BRString(CalcStatus, GetCalcStatus, ParamCube = |CVCube|, ParamEntity = |CVEntity|, ParamParent = |CVParent|, ParamCons = |CVConsolidation|, ParamScenario = |CVScenario|, ParamPeriod = |CVTime|)
    • Uses the business rule (CalcStatus) and the function (GetCalcStatus) along with the name value pairs necessary to return calculation status.
  • Run at: |DateMMDDYYYY| |DateTimeHHMMSS| GMT)
    • Returns a time stamp of the time the report was run

When this report is run, it will look as follows:

Creating a Page Caption in a Cube View

The second method of creating a detailed header is by adding substitution variables to the page caption of a cube view. This process is much easier to implement but does not provide calculation status. To add runtime details to the page caption of your content cube view perform the following steps.

  1. Within your cube view editor, access General Settings -> Common. You will then see a text field where you can add a page caption.
  2. In our example we add the Entity, View, Consolidation and Scenario members that relate to the current cube view. See below screen shot:

The data explorer will now run with the substitution variables provided as the page caption. In our example, the result is as follows:

Through utilizing these two methods, runtime details can be successfully added to reporting artifacts adhering to OneStream XF cube view building best practices.

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Mitchell Pasqualoni

More from this Author

Categories
Follow Us