Narrative Reporting

Conditional Formatting in Narrative Reporting

CloudADDIECloudADDIE•January 14, 2026•7 min read
Conditional Formatting in Narrative Reporting

A grid full of numbers only tells half the story until something on the page tells the reader where to look first. Conditional formatting is the feature inside Oracle Narrative Reporting that does exactly that: it changes how a cell looks based on what the underlying data actually is, rather than requiring an author to manually shade a cell every time a number turns negative. This post walks through what conditional formatting does, how a condition actually gets built, how the format itself is applied, and how it behaves once a grid starts using groupings.

What Conditional Formatting Does

Conditional formatting lives inside the Reports capability of Narrative Reporting, part of Oracle Fusion Cloud EPM, and its purpose is stated plainly in Oracle's own documentation: it lets you apply formatting to cells in a grid when the values in those cells meet conditions you define. Oracle's own example is a simple one, highlighting every cell in a grid that holds a value of zero with a yellow background, but the same mechanism drives far more elaborate rules once a report has several accounts, several periods, and a reader who does not have time to scan every row. Conditional formatting does not work alone. It sits alongside two closely related capabilities: conditional text, which changes or generates wording based on the same kind of conditions, and conditional suppression, which hides rows, columns, or cells outright rather than restyling them. All three are configured from the same place in the report designer, which is why Oracle documents them together even though each does a different job.

How a Condition Gets Built

Setting one up starts on the grid itself. An author selects the relevant grid area, opens the Conditional Properties panel from the conditional properties button, and clicks Formats/Text and then Add to start a new rule. Every condition, whether it drives formatting, text, or suppression, is built from the same pieces: an attribute, which is what gets tested, such as the current cell value or a member name, an optional qualifier that narrows the attribute to a specific parameter, an operator that defines the comparison, and a right qualifier, which is the value or condition being tested against. Numeric and date attributes use numeric operators such as equals, not equals, greater than, less than, greater than or equal to, and less than or equal to. Textual, member based, and user defined attribute conditions use operators such as starts with, ends with, contains, and their negated forms. Account type and position based conditions use only Is and Is Not.

What Can Actually Be Tested

The list of what can be tested is longer than the yellow cell example suggests. Oracle's documentation lists sixteen distinct criteria types for conditional formatting and text: cell value, row value, column value, current cell value, member name, member alias, member name or alias, member attribute, generation number, level number, relative generation, relative level, zoom level, account type, position within, and user defined attribute. In practice these fall into a few natural groups: plain data values in a cell, row, or column, identity based conditions built around member names, aliases, or attributes, structural conditions built around where something sits in a hierarchy, such as its generation or level, or where it sits within a segment, such as the top or bottom row, and account type conditions built around whether a row represents revenue, expense, or another account classification. When a condition compares against a value rather than another attribute, Oracle also gives authors several built in comparison options beyond typing in a number: cell value, row value, and column value let a condition reference another point in the same grid, while zero, no data, error, and suppressed let a condition target those specific states directly. For any condition testing an actual data value rather than a member or structural attribute, a grid property called Use scaled or rounded value, true by default, decides whether the condition evaluates against the formatted, scaled number the reader sees or the unscaled raw figure behind it, which matters when a report displays numbers in thousands or millions but the rule itself needs to catch a true zero.

One detail worth knowing before relying on account type conditions is that the available account types are not identical everywhere. Reports connected to Oracle Fusion Cloud EPM sources can classify by revenue, expense, asset, liability, equity, or non expense, while reports connected to Essbase, Profitability and Cost Management, or built natively in Narrative Reporting are limited to just expense and non expense. Anyone building a rule meant to travel across report packages pulling from different sources should check which list actually applies before assuming the fuller set is available.

Applying the Format Itself

Defining the condition is only half the rule. The Format tab is where the actual visual change is specified: font size, borders, and shading, along with a dedicated number formatting option, opened from its own button, for controlling how the value itself displays. Any format property an author leaves blank simply inherits from the grid cell's own base formatting, so a conditional rule only needs to specify what should change rather than restate the whole cell's styling. The designer shows a preview of the format at the top of the panel before the rule is saved, which is a useful check before it gets applied across a live report.

How It Behaves Inside Groupings

Conditional formatting behaves differently once a grid uses groupings, and it is worth understanding before building a rule meant to repeat down a report. When a condition based on row value, column value, or cell value references a row or column that belongs to a group, Oracle evaluates that condition only within the tuples inside that group, not against the report as a whole. Oracle's own example makes this concrete: a rule that applies a dollar sign prefix to the top row of a data segment does not just fire once at the top of the report, it fires at the top of every group individually, because the group itself sets the boundary the condition is measured against. Conditional suppression follows the same local scoping when it is built on data values in a row or column, or on cell value.

Where Formatting, Text, and Generative AI Fit Together

It is worth being precise about where conditional formatting ends and its sibling features begin, especially since Oracle has been expanding one of them recently. Conditional text shares the exact same condition building mechanism described above, the same criteria types and operators, but instead of changing how a cell looks, it changes or generates the wording that appears with it. That shared mechanism is also what Oracle's newer generative AI capability hooks into: the underlying conditional text function can call a generative AI model to write the actual narrative sentence when a condition is met, describing an exception, explaining its top contributors, or comparing it against a prior period, rather than only inserting a fixed phrase an author wrote in advance. Conditional formatting itself has not been folded into that generative AI work. It remains a rules based styling feature, and any writing its conditions might indirectly prompt still comes from conditional text rather than from formatting directly.

Why It Is Worth Setting Up

The practical payoff is that a report stops depending on someone remembering to reformat it every cycle. Once a rule is built, it evaluates fresh against whatever data loads next, so a cell that was fine last month and turns negative this month gets flagged automatically, in whatever font, border, or shading the author chose, without anyone touching the report itself. Because formatting, text, and suppression all share the same condition building blocks, learning one gives an author a working start on the other two, which is what makes them feel like one coherent system for drawing attention to what matters rather than three separate tools bolted together.

For a broader look at the reporting process these rules live inside, including report packages, doclets, and the review workflow, see our overview of Narrative Reporting in Oracle Cloud EPM.

Free Consultation

Want help from senior EPM and ERP consultants?

Schedule a free consultation with CloudADDIE to talk through your planning, consolidation, reporting, or data challenges.

Keep Reading

Related posts

Narrative Reporting

Narrative Reporting in Oracle Cloud EPM: Putting Data and Commentary on One Production Line

11 min readRead post
Narrative Reporting

An Overview of Report Packages in EPM Narrative Reporting

4 min readRead post
Narrative Reporting

Oracle Narrative Reporting: The EPRCS Rename and the Retirement of Classic Financial Reporting

4 min readRead post