SAP ECC and Microsoft Power BI integration
SAP ECC runs your finance, procurement, materials, and cost center operations. Microsoft Power BI visualizes that data in dashboards and reports. Connecting them lets you build live financial and operational dashboards on SAP ECC data without manual exports or overnight batch processes. Vendors, GL accounts, materials, and cost centers flow from SAP ECC into Power BI datasets on a schedule you control, and your reports stay current with each refresh cycle.
What moves between them
Records flow one direction: from SAP ECC into Microsoft Power BI. ml-connector polls SAP ECC via RFC_READ_TABLE, BAPI function calls, or OData queries on a configurable schedule (daily, weekly, or tied to business events), retrieves financial documents, GL accounts, materials, vendors, cost centers, and employee data, transforms the rows to match the target Power BI dataset schema, and POSTs them to Power BI push datasets. Power BI does not send data back to SAP ECC.
How ml-connector handles it
ml-connector maintains a running integration agent connection to SAP ECC via the customer-supplied on-premises agent (NCo or JCo), authenticating with the provided SAP username and password. It polls using RFC_READ_TABLE for wide data sets (accounting master tables such as BKPF, BSEG, LFA1) or BAPI function calls for logical business objects (GL accounts, cost centers, vendors). On the Power BI side, ml-connector requests an OAuth 2.0 access token from Azure AD using the service principal client ID and secret, includes the token as a Bearer header on every API call, and handles token refresh when the hour-long expiry window approaches. It transforms SAP data to match the predefined Power BI dataset table structure (column names and data types), batches the rows, and POSTs them to the push dataset endpoint. If a push request fails (auth timeout, rate limit, or network error), ml-connector retries with exponential backoff. Every record pushed to Power BI carries an audit trail with source timestamp, record ID, and transformation version.
A real-world example
A mid-sized discrete manufacturer operates SAP ECC for finance, procurement, and production. The CFO needs a real-time sales revenue and cost-of-goods dashboard to monitor profitability by product line and plant, but the current process requires the finance analyst to export GL accounts and material movement data from SAP each Friday, clean it in a spreadsheet, and upload it to a shared Power BI dataset. This weekly delay means the dashboard is always a week behind actual results. With SAP ECC and Power BI connected, ml-connector polls GL accounts, cost centers, and materials from SAP each night on a schedule aligned to the month-end close calendar, loads them into Power BI datasets, and the CFO sees current-day profitability trends in the dashboard the next morning. The analyst reclaims Friday to focus on variance investigation instead of data reshuffling.
What you can do
- Poll SAP ECC financial documents, GL accounts, vendors, materials, and cost centers via RFC or OData on a configurable schedule.
- Transform SAP records to Power BI dataset schema and POST rows to push datasets, with automatic token refresh for OAuth service principal authentication.
- Handle SAP's on-premises integration agent connection requirements and retries across both polling and push operations.
- Keep Power BI datasets current with each refresh cycle while maintaining a complete audit trail of every record loaded.
- Support wide data tables in SAP ECC using RFC_READ_TABLE and logical business objects via BAPI functions for flexible reporting.
Questions
- Does ml-connector work with SAP ECC on-premises, or only cloud versions?
- ml-connector works with SAP ECC on-premises and hybrid deployments. SAP ECC does not have a cloud REST API, so ml-connector requires the customer to provision an on-premises integration agent running SAP .NET Connector or Java Connector on the customer network. The agent bridges cloud requests to the on-premises SAP system over RFC protocol.
- How does ml-connector handle OData services in SAP ECC that are not active by default?
- SAP Basis must activate OData services via TCODE SICF before ml-connector can query them. ml-connector includes guidance for which SAP Gateway services are needed for the target entities (materials, GL accounts, vendors, cost centers). If OData is not activated or ml-connector detects a 404, it automatically falls back to RFC/BAPI calls instead.
- Can data flow from Power BI back into SAP ECC?
- No. Power BI is a reporting and analytics destination, not a source-of-truth system. ml-connector pushes data from SAP ECC into Power BI datasets one direction only. If you need to update SAP ECC master data in response to insights, that requires a separate integration or manual intervention.
Related integrations
More SAP ECC integrations
Other systems that connect to Microsoft Power BI
Connect SAP ECC and Microsoft Power BI
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started