Playbooks 2 min read

Expose SAP data to Power BI with OData & analytical CDS

Stop emailing spreadsheets. A clean, governed way to give the business live SAP data in Power BI or Datasphere — built on released CDS and OData.

Akshay Palimkar
Akshay Palimkar

Founder & Principal SAP Consultant

Abstract teal and navy illustration of data flowing from SAP into a dashboard

“Can you send me that report as Excel?” is one of the most expensive sentences in a SAP shop. Every manual export is stale the moment it’s sent, breaks when a column changes, and quietly leaks data. The clean alternative is a governed, live data path — and on S/4HANA it’s mostly configuration, not code.

Three patterns, pick by need

  1. Live OData — expose a CDS view as an OData service. Power BI connects directly, respects your filters and authorizations, and is always current. Best for interactive dashboards over moderate volumes.
  2. Analytical CDS — model the data as an analytical query (dimensions + measures) for cube-style consumption in Power BI, Datasphere or BW. Best for slice-and-dice reporting.
  3. Bulk extraction — for large, periodic loads, an extraction-friendly CDS view feeds a downstream store. Best when volume rules out live queries.

Why build it on CDS

Because the same released CDS view can power a Fiori app and an OData feed and an analytical query. You model the data once, cleanly, and consume it everywhere — no duplicated logic, no Z-table staging, no GUI download jobs. It’s the opposite of the brittle “export to a file share at 2am” pattern.

Keep it governed

  • Authorizations travel with the data — OData enforces the same checks as the app, so you’re not opening a side door.
  • Filters at the source — push selection down so Power BI pulls only what it needs.
  • One model, audited — changes happen in the CDS view, in your transport, under review.

Shortcut the boilerplate

The plumbing (CDS + service + analytical annotations) is mechanical, and a generator can scaffold it from a table or an existing report — that’s what ZCL_AU_ANALYTICS_GEN in our utilities does. From there you add the business-specific dimensions and measures.

Got a backlog of “send me the spreadsheet” reports? Book an assessment and we’ll turn the highest-traffic one into a live, governed feed.

Akshay Palimkar

Written by

Akshay Palimkar

Akshay is an SAP ABAP engineer with 15 years across ECC, S/4HANA, RAP and Clean Core. He builds the open-source tools and training he consults with.