All posts · BI Reports

Conditional Formatting in BI Publisher and OTBI

Making reports more readable through intelligent conditional formatting — traffic lights, highlighted rows, threshold-based colours, and dynamic icons.

Anurag Jangra · March 3, 2026 · 5 min read · ... views

Why conditional formatting matters

A table of numbers is hard to interpret quickly. Conditional formatting guides the eye to what matters — a red cell means action needed, green means all good. This transforms a data dump into a decision support tool.

Conditional formatting in OTBI analyses

  1. Create your analysis with the measure column
  2. Right-click the column header → Format Column → Conditional Format
  3. Add Condition: Column [Amount] > 100000
  4. Set formatting: background colour, font colour, font weight
  5. Add multiple conditions in order — first matching condition wins

Example traffic light for DSO:

  • DSO < 30: background green
  • DSO 30-45: background amber
  • DSO > 45: background red

Conditional images in OTBI

Replace cell values with icons using conditional formatting:

  1. Edit column formula: CASE WHEN status='COMPLETE' THEN 'img src="/analyticsRes/check.png"' ELSE 'img src="/analyticsRes/warning.png"' END
  2. Set column data format to HTML

Fusion Cloud includes a set of traffic light and status images under /analyticsRes/.

Conditional formatting in BIP RTF templates

In the RTF template, use XSL formatting commands:

Background color:

<?xdo-xslfo:background-color;'xdofx:if(AMOUNT > 50000, "lightgreen", "white")'?>

Font color:

<?xdo-xslfo:color;'xdofx:if(VARIANCE < 0, "red", "black")'?>

Conditional bold:

<?xdo-xslfo:font-weight;'xdofx:if(STATUS="OVERDUE", "bold", "normal")'?>

Conditional rows (show/hide entire rows)

In RTF, wrap a table row in a conditional:

<?if:AMOUNT > 0?>
[table row content]
<?end if?>

This eliminates zero-value rows that clutter the report.

In Excel output

BIP Excel output supports conditional formatting but with a different approach: use the BIP-specific conditional properties in the template. Note that Excel conditional formatting set via BIP is static (applied at generation time) not dynamic Excel conditional format rules.

Think Beyond the Implementation

Questions worth sitting with after reading this

01

Why is this architecture appropriate for this specific context — and where would it be the wrong choice?

02

What assumptions did we make that aren't stated explicitly? What happens if those assumptions are wrong?

03

What would break first if the requirements changed — volume doubled, a third system was added, or the deadline halved?

04

What alternatives did we reject, and why? Was the decision made on evidence — or habit?

AJ
Anurag Jangra
Oracle Cloud PaaS Consultant · OIC & VBCS Specialist

4.5+ years delivering enterprise Oracle Cloud integrations and VBCS applications across manufacturing, IT services, and financial sectors. OCI Certified — writes about real-world OIC, VBCS, SQL, and BI Publisher patterns from production experience.

Chat on WhatsApp