Jun 20, 2026 ยท 20 min read ยท Oracle HCM

OBIEE to Oracle Analytics Cloud Migration Guide 2026

Oracle Analytics Cloud is Oracle's cloud-native successor to OBIEE. If you're running Oracle Fusion HCM and still on OBIEE โ€” on-premises 11g, 12c, or the legacy cloud version โ€” Oracle has been pushing OAC migration for three years. This guide covers every breaking change, the Logical SQL syntax differences that silently corrupt report output, and a realistic four-week migration timeline for HCM-heavy environments.

Who This Is For

OBIEE 11g, 12c, or Oracle BI Cloud Service administrators and developers migrating Oracle Fusion HCM reports to Oracle Analytics Cloud (OAC). OTBI-only shops (no custom OBIEE) can skip most of the SQL migration sections โ€” your subject area reports mostly port cleanly.

Why OAC Migration Is Happening Now

Oracle has made no secret that OBIEE on-premises is in maintenance mode. New features โ€” AI-augmented analytics, self-service workbooks, augmented data prep โ€” are OAC-only. More practically: Oracle's standard support for OBIEE 12c ended in 2025, and Oracle BI Cloud Service (BICS) was discontinued. If you're on HCM Cloud and still running a separate OBIEE instance, you're also running infrastructure Oracle is actively sunsetting.

The more immediate pressure is the Oracle Analytics Cloud migration incentive program: Oracle has been offering discounted OAC licensing for OBIEE customers through 2026, but those programs require active migration projects. Organizations that delay are finding fewer incentive windows and longer internal approval cycles.

The result: migration projects that were "on the roadmap for next year" in 2024 are now in active planning in 2026.

What's Actually Different: OAC vs OBIEE

Most documentation frames OAC as "OBIEE in the cloud." That's true for the subject area and Logical SQL layer โ€” the data model is the same. But there are enough surface-level differences to cause real breakage in existing reports.

ComponentOBIEEOACMigration Impact
Report format Dashboards + Classic Answers Workbooks (primary) + Classic Dashboards (supported) Medium โ€” Classic Dashboards still work; Workbooks are new paradigm
Semantic Layer RPD (binary, Admin Tool) Semantic Model (XML, OAC Modeler) High โ€” migration tool available but custom RPD extensions need manual rebuild
EVALUATE() function Passes native SQL to physical layer Restricted in OAC SaaS โ€” many calls blocked by Oracle security policy High โ€” every EVALUATE() must be audited and often rewritten
Logical SQL dialect Oracle BI EE Logical SQL Same dialect โ€” with OAC-specific function behavior differences Medium โ€” 90% compatible, ~10% edge cases per environment
Presentation variables @{varName}{default} syntax Same syntax โ€” but prompt binding in Workbooks differs from Classic Dashboards Medium โ€” test each migrated dashboard prompt
BIP integration BI Publisher linked via OBIEE connection pool BIP works in OAC but connection config changes Medium โ€” reconfigure data model connections
Row limits Configurable OAC SaaS enforces caps on certain operations Medium โ€” audit large data exports
OTBI reports (HCM) Subject area reports Same subject areas โ€” fully compatible Low โ€” no changes needed for standard OTBI reports

Breaking Change #1: EVALUATE() Is Blocked in OAC SaaS

This is the change that causes the most migration failures. OBIEE's EVALUATE() function lets you pass database-native SQL directly to the physical query layer, bypassing OBIEE's Logical SQL processing. It was commonly used in Oracle HCM OBIEE environments for:

In OAC SaaS, Oracle's security model restricts arbitrary database code execution. Many EVALUATE() calls return an error or simply return NULL without warning โ€” the report appears to run but the column is blank.

Risk Pattern

EVALUATE() failures are often silent. The report runs, returns rows, but the EVALUATE() column shows NULL or blank. In a headcount report, this might mean a "Cost Center" column is blank for all rows โ€” which looks like a data issue, not a migration issue.

How to Find All EVALUATE() Usage in Your Catalog

Before migration, run this SQL against your Oracle BI Presentation Catalog metadata (or use Oracle's catalog migration utility to export XML and grep it):

Search OBIEE catalog XML for EVALUATE() usage
-- If you've exported catalog to XML files, search with:
-- grep -ri "EVALUATE(" /path/to/catalog/export/ --include="*.xml" -l
-- Or query the UsageTracking data if enabled:

SELECT
  LOGICAL_SQL_QUERY,
  PRESENTATION_NAME,
  USER_NAME,
  START_TS
FROM S_NQ_ACCT
WHERE LOGICAL_SQL_QUERY LIKE '%EVALUATE(%'
   OR LOGICAL_SQL_QUERY LIKE '%EVALUATE_AGGR(%'
ORDER BY START_TS DESC;

Rewriting EVALUATE() for OAC

Most EVALUATE() calls can be rewritten using OAC's supported Logical SQL functions. The key OAC-supported replacements:

Common EVALUATE() rewrites for OAC
-- BEFORE: EVALUATE() for REGEXP_SUBSTR (fails in OAC SaaS)
EVALUATE('REGEXP_SUBSTR(%1, %2, 1, 1)',
  "Worker"."Email Address",
  '[^@]+')

-- AFTER: Pure Logical SQL (OAC supported)
SUBSTRING("Worker"."Email Address"
  FROM 1
  FOR POSITION('@' IN "Worker"."Email Address") - 1)

-- BEFORE: EVALUATE() for ADD_MONTHS
EVALUATE('ADD_MONTHS(%1, %2)',
  "Worker"."Date of Hire", 6)

-- AFTER: TIMESTAMPADD in Logical SQL
TIMESTAMPADD(SQL_TSI_MONTH, 6, "Worker"."Date of Hire")

-- BEFORE: EVALUATE_AGGR() for custom aggregation
EVALUATE_AGGR('MEDIAN(%1)', "Compensation"."Annual Salary")

-- AFTER: Use PERCENTILE_CONT in OAC (or MEDIAN if available)
PERCENTILE_CONT(0.5) WITHIN GROUP
  (ORDER BY "Compensation"."Annual Salary")

Breaking Change #2: Presentation Variable Behavior in Workbooks

OBIEE Classic Dashboards use @{varName}{default} syntax for presentation variables, set via dashboard prompts. OAC Workbooks use a different prompt mechanism. If you're migrating to OAC Workbooks (not Classic Dashboards), the variable binding behavior changes:

The safest migration path for HCM-heavy environments: migrate report SQL first to Classic Dashboards in OAC (1:1 compatibility), then progressively rebuild high-value reports as Workbooks for the new UX. Don't try to migrate to Workbooks in one pass.

Breaking Change #3: BIP Data Model Connections

If your OBIEE environment feeds BI Publisher (BIP) reports via OBIEE subject area data models, the connection configuration changes in OAC. Specifically:

Good News for HCM BIP Reports

BIP reports in Oracle HCM Cloud that use HCM Data Model connections (connecting directly to the HCM schema via JDBC, not through OBIEE subject areas) are not affected by the OAC migration at all. Only BIP reports that explicitly use an "Oracle BI EE" data source pointing to your OBIEE instance need migration.

What Doesn't Break: OTBI Reports

If your Oracle HCM reporting stack uses primarily OTBI โ€” Oracle Transactional Business Intelligence, the subject-area-based reporting tool built into HCM Cloud โ€” you have almost no migration work to do. OTBI uses the same underlying Oracle Analytics Server that powers OAC. The subject areas are identical. The Logical SQL syntax is the same.

OTBI reports that use standard subject areas (Workforce Management - Worker Assignment Real Time, Payroll - Payroll Run Results Real Time, etc.) port to OAC without modification. The subject area join logic, column names, and filter syntax are unchanged.

The only OTBI edge case to test: any OTBI report that uses FILTER() function with a cross-subject-area measure. These are rare in standard HCM reporting, but worth auditing.

Pre-Migration Data Quality: The Step Most Teams Skip

Data quality issues that exist in your OBIEE environment don't disappear in OAC โ€” they're often exposed more clearly. Assignment orphans, effective date gaps, and missing TL rows that OBIEE "tolerated" (by returning incomplete results silently) may cause OAC reports to error or return different row counts than your team expects.

Before starting any SQL migration work, run data validation queries against your Oracle HCM instance. At minimum, check:

Finding these before migration prevents a common failure pattern: migrated reports return different row counts than OBIEE, investigation takes two weeks, and the difference turns out to be pre-existing data quality issues rather than migration bugs.

Four-Week Migration Checklist

Week 1: Inventory and Risk Classification

Week 2: Migrate HIGH Risk Reports

Week 3: Migrate Remaining Reports + UAT

Week 4: Cutover and Post-Go-Live

The 30-Day Parallel Run Rule

Keep OBIEE running in read-only mode for 30 days after OAC go-live. When users hit a discrepancy โ€” and some always do โ€” you need the OBIEE output available for comparison. Decommissioning OBIEE the day of cutover is the most common mistake in HCM reporting migrations.

RPD to Semantic Model: The Complex Case

If your OBIEE environment has a customized RPD โ€” custom subject areas, custom joins, extended HCM metadata โ€” the migration is more involved. Oracle provides an RPD migration tool that converts the binary RPD to OAC's XML-based Semantic Model, but custom extensions require manual validation.

Standard Oracle HCM-delivered RPD content (the HCM Analytics subject areas) migrates cleanly via the tool. Custom joins, custom dimensions, or extended fact tables added by your implementation team need manual review and testing in OAC Modeler.

For environments with heavy RPD customization, plan an additional 1โ€“2 weeks for Semantic Model validation and custom content rebuild.

OAC-Specific Optimizations Worth Doing During Migration

Migration is the right time to address performance and design issues that accumulated over years of OBIEE development. A few worth doing while you're touching each report:

Need Help With Your OAC Migration?

We handle the full migration โ€” catalog inventory, EVALUATE() rewrites, BIP reconfiguration, UAT support, and 30-day go-live coverage. Fixed price by report volume.

See Migration Service Pricing โ†’

Common Migration Mistakes

1. Migrating EVALUATE() without testing each rewrite

The Logical SQL equivalents for EVALUATE() work for 80% of cases. The other 20% have subtle differences in NULL handling, type coercion, or aggregation behavior. Every EVALUATE() rewrite needs a side-by-side output comparison before sign-off.

2. Skipping data quality validation before migration

Pre-existing data issues in Core HR (orphaned assignments, date gaps, missing TL rows) surface as "new" report discrepancies after migration. Your team spends days debugging what turns out to be a data issue that existed before you touched anything. Run the checks first.

3. Migrating to OAC Workbooks instead of Classic Dashboards first

Workbooks are the future of OAC, but they have a different UX paradigm. Migrating to Classic Dashboards first gives you 1:1 functional parity and a stable baseline. Then progressively upgrade to Workbooks for your highest-traffic reports.

4. Decommissioning OBIEE before the 30-day parallel run completes

Users will find discrepancies. Some are bugs. Some are pre-existing data issues. Some are intentional behavior differences. You need OBIEE running to diagnose which is which. Keep it up for 30 days minimum post-cutover.

5. Not auditing report usage before migration

The average OBIEE catalog has 30โ€“50% of reports that haven't been accessed in over a year. Migrating them consumes budget and introduces risk for zero benefit. Pull Usage Tracking data and get owner confirmation before migrating anything with low usage.

Summary: What to Prioritize

If you're starting a migration project today, the order of work matters:

  1. Run data quality checks first โ€” before any SQL migration. 30 parameterized queries, 24 hours, reveals every pre-existing issue that will look like a migration bug
  2. Audit EVALUATE() usage โ€” this is your highest-risk SQL. Identify and plan rewrites before writing a line of code
  3. Classify and retire โ€” pull Usage Tracking, retire the dead weight, reduce the migration scope
  4. Migrate to Classic Dashboards first โ€” establish functional parity, then upgrade to Workbooks selectively
  5. Keep OBIEE running in parallel โ€” 30 days minimum, then decommission

Start With the Data Health Check

30 SQL validation queries run against your live HCM environment before migration starts. Every data issue found now is one less migration bug to debug later. Flat $2,500, results in 24 hours.

See the Data Health Check โ†’