OneStream XF – Book Components

OneStream Books are made up of components, which establish what the book contains and how the items are run. The components include Files, Excel Export Items, Reports, Loops, If, Else If, and Else Statements, and Change Parameters.

Loops, If Statements, Else If Statements, Else Statements, and Change Parameters determine how the Files, Excel Items, or Reports run. They allow users to alter the output of the book. A book called ‘IfStatements’ demonstrates how each of these components works.


The first component is the Loop. A loop processes the book multiple times, based on how many items you have in the Loop Definition. For the ‘IfStatement’ Book, the Loop runs twice – once for V#Periodic and once for V#YTD. Each report in the book will populate for Periodic and YTD.


Next, the If Statement processes the report underneath it. This If Statement executes if the Workflow Period is January – June. Also, ‘WFSubPeriod’ is a OneStream object that calls the numerical value of the period dimension.if-stmt

The Report attached to the If Statement is a Balance Sheet report. So, the book reads the first step as: ‘If the Workflow Period is Jan – Jun, run the Balance Sheet report’.


The next item is the Else If Statement. This component is defined for Workflow Periods July – November.


The Report following the Else If Statement is the Income Statement report. So, this second step reads as: ‘Else if the Workflow Period is Jul – Nov, run the Income Statement report’.


Finally, the Else Statement is the last step of the book. This step will run for all other conditions left out of the If and Else If Statements. The If Statement runs for Jan – Jun, and the Else If Statement runs for Jul – Nov. Therefore, the Else Statement will run for only December. Lastly, because the Period is December, I want to see both the Balance Sheet and Income Statement reports.


Change Parameters can either modify the Workflow, POV, Variables, or Parameters. Since the reports included in the Else Statement will only run if the Workflow Period is Dec, I included a Change Parameter to change the POV of the reports. I want to see the reports at the C#Top, where they were previously running for C#Local.


The Balance Sheet Cube View has ‘Local’ under the Consolidation dimension. So the Change Parameter overrides the Cube View POV to run at C#Top.


Here is the Balance Sheet report.


In Addition, here is the Income Statement report.


In conclusion, Book Components are incorporated into books to modify how the Files, Excel Items, or Reports execute. These components include Loops, If Statements, and Change Parameters. A loop executes a book for however many variables exist in the Loop Definition. So if there are two items, users see each report for two different members. The ‘IfStatement’ book has V#Periodic and V#YTD defined, so the Balance Sheet and Income Statement will be run for both Views.

If, Else If, and Else Statements apply a conditional aspect to the book. The book passes through the first statement. If the conditions are not met, it moves to the next statement. As a result, this process continues until all statements in the book are evaluated. The ‘IfStatement’ book will run the Balance Sheet report if the Workflow Period is Jan – Jun. It will run the Income Statement report if the period is Jul – Nov. Finally, the book will run both reports if the Workflow period is Dec.

Change Parameters overwrite existing Workflow, POV, Variables, and Parameters. In the ‘IfStatement’ book, a Change Parameter was applied to the Else Statement. This overrides the Consolidation Member in order to display Year-End data.

Most of all, by incorporating these components into books, users can make more complex books and reduce the total number of books necessary.