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.
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.
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.
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.
| Component | OBIEE | OAC | Migration 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 |
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:
REGEXP_SUBSTR, REGEXP_REPLACE)ADD_MONTHS, LAST_DAY)EVALUATE_AGGR()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.
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.
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):
-- 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;
Most EVALUATE() calls can be rewritten using OAC's supported Logical SQL functions. The key OAC-supported replacements:
-- 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")
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.
If your OBIEE environment feeds BI Publisher (BIP) reports via OBIEE subject area data models, the connection configuration changes in OAC. Specifically:
/xmlpserver/services, OAC uses /xmlpserver/services but on a different host)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.
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.
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.
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.
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.
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:
PER_ALL_ASSIGNMENTS_M, add EFFECTIVE_LATEST_CHANGE = 'Y' โ this fixes a chronic HCM reporting issueWe 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 โ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.
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.
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.
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.
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.
If you're starting a migration project today, the order of work matters:
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 โ