Edward J. Cody & Eric M. Somers
The following example is an excerpt from the book: Oracle Hyperion Financial Reporting: A Practical Guide. In this article, authors Ed Cody and Eric Somers discuss the use of conditional formatting to alter the formatting for each row based on the generation of the members displayed in the rows of the report.
Conditional Formatting in Oracle Hyperion Financial Reporting plays a larger role than just spotlighting cells in a report. The conditional formatting engine can be utilized to drive many formatting techniques in the report. One of the unique benefits to conditional formatting is the ability to apply specific formatting to dimension values based on the generation or level of the values returned in the report. In the following example, a grid is created with the Descendants of All Merchandise (Products Dimension), and Original Price, Price Paid, and Variance columns from the ASO Sample database as shown:
In this example, conditional formatting was applied to the entire first row. Each formatting condition was applied to the entire row and contains one condition, configured to use the Generation value of the member. Since the first row of the grid contains the descendants function, multiple rows are returned during runtime. The use of the generation condition provides the ability to format members differently based on their position in the dimensional hierarchy. The following condition shows Format 1, configured using the generation condition.
When the grid is displayed at runtime, the conditional formatting utility inspects each row and applies a bold font type, underline, and bottom border to each row where the generation of the member returned from the descendants function is at the third level from the top of the Products dimension. All rows (where the generation of the Products member is not equal to 3) receive standard grid formatting.
Format 2 uses the same generation function approach but applies specific formatting to generation 4.
In Format 2, the numbers are left in default formatting except for application of a bottom border. Additionally, an indentation is set to indent the values returned from the generation to better represent the hierarchy as shown in the following screenshot.
Format 3 continues with the same logic where the condition references generation 5.
When the condition in Format 3 is met, only indentation is applied.
Running the report displays the following formatting.
Notice the indentation and formatting differences for each row. Personal Electronics is a Generation 3 member, which receives the bold, underline, and bottom border. Members at the Portable Audio row are generation 4 members, and receive indentation and a bottom border. The members at the Radios level are generation 5 members, which receive indentation only. It is important to point out that since the formatting was applied to the entire row in this example, the formatting of the numeric columns are also indented. This can easily be changed by only applying conditional formatting to the row dimension members and not the entire row.