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.
Founder & Principal SAP Consultant
“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
- 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.
- 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.
- 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.
Written by
Akshay PalimkarAkshay 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.