Oracle Retail18 min readBy Priyanshu Pandey

Reporting in Oracle Retail: BI Publisher, OBIEE & Oracle Analytics

A comprehensive guide to reporting in the Oracle Retail ecosystem. Learn the difference between BI Publisher (BIP) and OBIEE/OAS, data model setup, report types, RPD architecture, burst scheduling, custom report creation, and best practices for retail operational and strategic reporting.

Phase 10 · Reporting

From pixel-perfect invoices to interactive executive dashboards — the reporting tools that make retail data actionable.

18 min read📅Jul 25, 2026✍️Priyanshu Pandey📚Oracle Retail Ecosystem
THE REPORTING LANDSCAPE

The Oracle Retail Reporting Landscape

Oracle Retail has two primary reporting tools, each serving a fundamentally different purpose:

Understanding when to use which tool is critical. Using BIP for analytics wastes time building static reports that should be interactive. Using OBIEE for formatted documents produces ugly, non-printable output.

CHOOSING THE RIGHT TOOL

BIP vs. OBIEE/OAS: When to Use Which

RequirementBI PublisherOBIEE / OAS
Pixel-perfect formatting✅ Yes (RTF/PDF templates)❌ No
Interactive drill-down❌ No✅ Yes
Print-ready output✅ PDF, Excel, CSV, HTML⚠️ Basic export only
Scheduled email delivery✅ Burst to email/FTP✅ Agent-based delivery
Ad-hoc analysis❌ No (predefined queries)✅ Yes (drag-and-drop)
Charts & visualizations⚠️ Basic✅ Rich (bar, line, pie, map, etc.)
Data sourceDirect SQL, web servicesRPD semantic layer
Typical usersOperations, AP, warehouseAnalysts, managers, executives
BI PUBLISHER

BI Publisher (BIP) Deep Dive

Oracle BI Publisher generates formatted, document-style reports. It separates the data query from the presentation template, allowing non-technical users to design report layouts.

Architecture

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  DATA MODEL  │────▶│  TEMPLATE    │────▶│  BIP ENGINE  │────▶│  OUTPUT      │
│              │     │  (RTF/XSL)   │     │              │     │  (PDF/Excel/ │
│ SQL Query    │     │              │     │ Merges data  │     │   HTML/CSV)  │
│ or           │     │ Layout with  │     │ with template│     │              │
│ Web Service  │     │ placeholders │     │              │     │ Delivered    │
│ or           │     │              │     │              │     │ via email,   │
│ OBIEE Data   │     │              │     │              │     │ FTP, or UI   │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘

Data Model

The data model defines where report data comes from. Common sources:

  • SQL Query: Direct SQL against RMS, ReSA, or RI tables
  • Web Service: REST or SOAP API calls to external systems
  • OBIEE Subject Area: Reuse an existing OBIEE analysis as the data source

Template Types

  • RTF (Rich Text Format): Designed in Microsoft Word with BIP's Template Builder plugin. Most common for formatted documents.
  • XSL-FO: XML-based templates for complex layouts requiring pixel-perfect control
  • Excel: Native Excel templates for spreadsheet-style reports
  • HTML/CSS: Web-based templates for portal embedding

Common Oracle Retail BIP Reports

ReportPurposeSource
Purchase Order PrintFormatted PO document sent to suppliersRMS (ORDHEAD, ORDSKU)
Price Change ReportList of upcoming price changes for store operationsRPCS
Stock Count VarianceDiscrepancies between counted and system quantitiesRMS (STAKE_SKU_LOC)
Receiving ReportItems received against ASNRMS (SHIPSKU, SHIPMENT)
Inventory ValuationCurrent stock value by department/classRMS (ITEM_LOC_SOH, ITEM_MASTER)
ORACLE ANALYTICS

OBIEE / OAS Deep Dive

Oracle Analytics Server (OAS) — the successor to OBIEE (Oracle Business Intelligence Enterprise Edition) — is an interactive analytics platform that enables business users to explore data through dashboards, charts, and ad-hoc queries.

Key Concepts

  • Analyses: Interactive queries with charts and tables. Users can drill down, filter, pivot, and export.
  • Dashboards: Collections of analyses, prompts, and KPIs arranged on a page.
  • Agents: Automated alerts that monitor conditions (e.g., "Notify me if any store's daily sales drop below $5,000").
  • Prompts: Interactive filters that users apply to analyses (date range, department, region).

Building an Analysis

  1. Select Subject Area — Choose the pre-built subject area (e.g., "Sales Performance")
  2. Drag Columns — Drag measures (Sales Amount) and dimensions (Store, Week) to the query canvas
  3. Add Filters — Restrict data (last 4 weeks, Department 100 only)
  4. Choose Visualization — Bar chart, line chart, pivot table, heat map
  5. Add to Dashboard — Place the analysis on a dashboard page
RPD

RPD Architecture

The RPD (Repository) is the brain of OBIEE/OAS. It is a metadata layer that maps physical database tables to business-friendly concepts.

Three RPD Layers

1. Physical Layer: Defines connections to the actual database tables (RI star schema). Maps physical table names, column names, and join relationships.

2. Business Model Layer: The critical middle layer where all business logic lives:

  • Logical table mappings — maps multiple physical tables to a single logical concept (e.g., "Sales" maps to both daily and weekly fact tables)
  • Calculated metrics — gross margin % = (retail - cost) / retail × 100
  • Hierarchies — product, location, and calendar drill paths
  • Security filters — restrict data by user role (regional managers only see their region)

3. Presentation Layer: Defines the subject areas that business users see. Organizes logical columns into folders with user-friendly names.

Physical Layer          Business Model Layer     Presentation Layer
┌─────────────────┐    ┌──────────────────┐     ┌──────────────────┐
│ W_RTL_SLS_TRX_F │───▶│ Logical: Sales  │────▶│ Subject Area:    │
│ W_RTL_INV_F     │───▶│ Logical: Inv    │────▶│ "Sales           │
│ W_PRODUCT_D     │───▶│ Logical: Product│────▶│  Performance"    │
│ W_INT_ORG_D     │───▶│ Logical: Store  │────▶│                  │
└─────────────────┘    └──────────────────┘     └──────────────────┘
CUSTOM REPORTS

Building Custom Reports

When to Build Custom

Oracle Retail ships pre-built reports for common scenarios, but every retailer has unique reporting needs:

  • Custom KPIs: Metrics specific to the retailer's business model
  • Cross-System Reports: Combining data from multiple sources not covered by pre-built subject areas
  • Operational Reports: Store-level operational reports tailored to the retailer's processes
  • Regulatory Reports: Government-mandated reporting formats

Custom BIP Report Steps

  1. Create Data Model — Write the SQL query, define parameters, and test
  2. Design Template — Create an RTF template in Word with placeholders for data fields
  3. Upload to BIP Server — Deploy the data model and template
  4. Configure Security — Assign roles that can run the report
  5. Schedule (optional) — Set up automated execution and delivery
Custom BIP SQL — Weekly Sales by Department with Comp
SQL
SELECT 
    d.dept,
    d.dept_name,
    cal.fiscal_week,
    cal.fiscal_year,
    SUM(CASE WHEN cal.fiscal_year = :P_YEAR 
             THEN f.sales_retail ELSE 0 END)    AS ty_sales,
    SUM(CASE WHEN cal.fiscal_year = :P_YEAR - 1 
             THEN f.sales_retail ELSE 0 END)    AS ly_sales,
    ROUND(
        (SUM(CASE WHEN cal.fiscal_year = :P_YEAR 
                  THEN f.sales_retail ELSE 0 END) 
       - SUM(CASE WHEN cal.fiscal_year = :P_YEAR - 1 
                  THEN f.sales_retail ELSE 0 END))
       / NULLIF(SUM(CASE WHEN cal.fiscal_year = :P_YEAR - 1 
                         THEN f.sales_retail ELSE 0 END), 0)
       * 100, 1
    )                                            AS comp_pct
FROM 
    w_rtl_sls_trx_f f
JOIN 
    w_product_d d ON f.product_key = d.product_key
JOIN 
    w_mcal_period_d cal ON f.day_key = cal.day_key
WHERE 
    cal.fiscal_year IN (:P_YEAR, :P_YEAR - 1)
    AND cal.fiscal_week = :P_WEEK
GROUP BY 
    d.dept, d.dept_name, cal.fiscal_week, cal.fiscal_year
ORDER BY 
    ty_sales DESC;
AUTOMATION

Report Bursting & Scheduling

Bursting is BIP's powerful feature for generating and distributing personalized reports automatically:

  1. Single Query, Multiple Outputs: Run one SQL query that returns data for all regions
  2. Split by Dimension: BIP automatically splits the data by region
  3. Apply Templates: Each region's data is merged with the report template
  4. Deliver: Each region's report is emailed to the respective regional manager

Example: A weekly sales report is burst by region — the Northeast VP gets Northeast data, the Southeast VP gets Southeast data, all from a single scheduled job.

Scheduling Options

  • Time-Based: Run daily at 6 AM, weekly on Monday, monthly on the 1st
  • Event-Based: Run after the nightly ETL completes
  • On-Demand: User-triggered via the BIP web UI
CLOUD REPORTING

Reporting in the Cloud

As retailers move to Oracle Retail Cloud Services:

  • BIP is available as a cloud service (BIP Cloud) with the same functionality
  • OAS is being replaced by Oracle Analytics Cloud (OAC) with enhanced self-service analytics
  • Pixel Streams: Pre-built retail analytics content delivered as cloud-managed dashboards
  • Data Visualization: OAC includes Tableau-like drag-and-drop visualization capabilities
BEST PRACTICES

Best Practices

Important Gotchas

  • !
    Never run BIP reports with direct SQL against production RMS during batch hours. Schedule BIP jobs to run after the batch window closes, or use read-only replicas.
  • !
    Always use bind variables (:P_DATE, :P_DEPT) in BIP data models. Hard-coded values prevent query plan caching and create performance issues.
  • !
    When modifying the OBIEE RPD, always work in a development environment first and promote changes through a formal release process. RPD errors can break all dashboards for all users.
  • !
    Test BIP report performance with production-scale data volumes. A report that runs in 2 seconds against a dev database with 1,000 rows may take 30 minutes against production with 50 million rows.
  • !
    Document every custom report's data model, template, and scheduling configuration. When the developer leaves the company, undocumented reports become impossible to maintain.

Key Takeaways

  • BI Publisher (BIP) generates pixel-perfect formatted reports (POs, invoices, labels); OBIEE/OAS provides interactive analytical dashboards.
  • BIP separates the data query (data model) from the presentation (RTF/XSL template), enabling non-technical layout changes.
  • The OBIEE RPD has three layers: Physical (database tables), Business Model (logic and calculations), and Presentation (user-facing subject areas).
  • Report bursting automatically splits and distributes personalized reports to different recipients from a single query execution.
  • Cloud migration replaces OAS with Oracle Analytics Cloud (OAC) and adds self-service visualization capabilities.
RetailCoder
All systems operational
v1.0 Live

RC:OMS

Multi-channel order management with double-entry inventory ledger. Amazon, Flipkart, Shopify, WooCommerce — one source of truth.

Launch demo →
v1.0 Live

RC:Storefront

Self-hosted headless e-commerce. Your server, your data, zero transaction fees. Native RC:OMS inventory sync.

Visit Storefront →
Pipeline

RC:Pulse

AI-powered retail analytics and demand forecasting — built natively on top of your RC:OMS and Storefront data.

Request early access →
Built in India 🇮🇳  ·  Architected by Priyanshu PandeyTalk to an engineer →