Video Tutorial - Integrate Power BI data in SSIS
This video covers following and more so watch carefully. After watching this video follow the steps described in this article.
- How to download / install required driver for
Power BI integration in SSIS - How to configure connection for
Power BI - Features about
API Source (Authentication / Query Language / Examples / Driver UI) - Using
Power BI Connection in SSIS
Prerequisites
Before we perform steps listed in this article, you will need to make sure following prerequisites are met:- SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft site).
- Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
- Make sure ZappySys SSIS PowerPack is downloaded and installed (download it). Check Getting started section for more information.
- Optional (If you want to Deploy and Schedule ) - Deploy and Schedule SSIS Packages
How to read data from Power BI in SSIS (Export data)
In this section we will learn how to configure and use Power BI Connector in API Source to extract data from Power BI.
-
Begin with opening Visual Studio and Create a New Project.
Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.
-
In the new SSIS project screen you will find the following:
- SSIS ToolBox on left side bar
- Solution Explorer and Property Window on right bar
- Control flow, data flow, event Handlers, Package Explorer in tab windows
- Connection Manager Window in the bottom
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:
-
Select New Connection to create a new connection:
-
Use a preinstalled Power BI Connector from Popular Connector List or press Search Online radio button to download Power BI Connector. Once downloaded simply use it in the configuration:
Power BI -
Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.
OAuth App must be created in Microsoft Azure AD. These settings typically found here https://docs.microsoft.com/en-us/graph/auth-register-app-v2. [API Help..]
Steps to get Power BI Credentials : User Credentials [OAuth]
Firstly, login into Azure Portal and there create an OAuth application:
- Go to Azure Portal and login there.
- Then go to Azure Active Directory.
- On the left side click menu item App registrations
- Then proceed with clicking New registration.
- Enter a name for your application.
- Select the account types to support with the Supported account types option.
- In Redirect URI, select Web.
- In the textbox enter https://zappysys.com/oauth as the Redirect URI or another valid redirect URL.
- Use this same Redirect URI in the Redirect URI (must match App Redirect URL) grid row.
- Copy Client ID and paste it into the API Connection Manager configuration grid in the Client ID row.
- Click on the Endpoints link and copy the OAuth 2.0 authorization endpoint (v2) URL to the Authorization URL grid row. Usually it looks similar to this:
- https://login.microsoftonline.com/daed1250-xxxx-xxxx-xxxx-ef0a982d3d1e/oauth2/v2.0/authorize
- Copy the OAuth 2.0 token endpoint (v2) URL to the Token URL grid row. Usually it looks similar to this:
- https://login.microsoftonline.com/daed1250-xxxx-xxxx-xxxx-ef0a982d3d1e/oauth2/v2.0/token
- Close "Endpoints" popup and create a Client Secret in the Certificates & secrets tab.
- Proceed by clicking New client secret and setting expiration period. Copy the client secret and paste it into configuration grid in Client Secret row.
- Now lets setup permissions for the app. Click on API Permissions and on the page click Plus Sign Add Permission
- Click on Microsoft Graph API and then choose Delegated Permissions
- on Permission list page search or choose permissions as needed. We need to enable following Permissions from 2 Sections: Microsoft Graph API and Power BI Service.
- Make sure you have checked below permissions (If you do not need Write feature then you can skip Write scopes)
offline_access Dataset.ReadWrite.All
- Click Generate Token to generate tokens.
- That's it!
Power BIUser Credentials [OAuth]https://api.powerbi.com/v1.0/myorgRequired Parameters Authorization URL Fill in the parameter... Token URL Fill in the parameter... Client ID Fill in the parameter... Scope Fill in the parameter... Default Dataset (select after generating tokens) Fill in the parameter... Optional Parameters Client Secret Fill in the parameter... Redirect URI (must match App Redirect URI) Fill in the parameter... Default Workspace (Keep Empty for My Workspace - select after generating tokens) Fill in the parameter... RetryMode Fill in the parameter... RetryStatusCodeList Fill in the parameter... RetryCountMax Fill in the parameter... RetryWaitTimeMs Fill in the parameter... RetryMultiplyWaitTime Fill in the parameter... Login options Fill in the parameter... -
Select the desired endpoint, change/pass the properties values, and click on Preview Data button to make the API call.
API Source - Power BIConnect to your Power BI account and retrieve data, refresh datasets, etc. -
That's it! We are done! Just in a few clicks we configured the call to Power BI using Power BI Connector.
You can load the source data into your desired destination using the Upsert Destination, which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV, Excel, Azure Table, Salesforce, and more. You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)
Load Power BI data in SQL Server using Upsert Destination (Insert or Update)
Once you read data from the desired source, now let's see how to Load Power BI data in SQL Server using Upsert Destination. Upsert Destination can Merge/Synchronize data from source to target for Microsoft SQL Server, PostgreSql and Redshift. It supports very fast Bulk Upsert (Update or Insert) operation along and Bulk delete.
-
From the SSIS toolbox drag and drop Upsert Destination on the dataflow designer surface
Connect our Source component to Upsert Destination
-
Double click on Upsert Destination component to configure it.
-
Select the desired Microsoft SQL Server/PostgreSql/Redshift Target Connection or click NEW to create new connection. Select Target Table or click NEW to create new table based on source columns.
Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS -
Set Action to Upsert => (insert if not matching in target else update). Select Target Connection and Target Table. Check on Insert and Update. Click on Map All to Mappings all columns and check on Only Primary Key columns.
-
Click on OK to save Upsert Destination settings UI.
-
That's it. Run the SSIS Package and it will read the data from the Power BI and load the data in the SQL Server/PostgreSql/Redshift using Upsert Destination.
Video Tutorial - Write or lookup data to Power BI using SSIS
This video covers following and more so watch carefully. After watching this video follow the steps described in this article.
- How to download SSIS PowerPack for
Power BI integration in SSIS - How to configure connection for
Power BI - How to Write or lookup data to
Power BI - Features about SSIS API Destination
- Using
Power BI Connector in SSIS
How to write or lookup data to Power BI in SSIS (Import data)
In upper section we learned how to read data, now in this section we will learn how to configure Power BI in the API Source to Post data to the Power BI.
-
Read the data from the source, being any desired source component. In example we will use ZappySys Dummy Data Source component.
-
From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
-
Select New Connection to create a new connection:
API Destination - Power BIConnect to your Power BI account and retrieve data, refresh datasets, etc. -
Use a preinstalled Power BI Connector from Popular Connector List or press Search Online radio button to download Power BI Connector. Once downloaded simply use it in the configuration:
Power BI -
Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.
OAuth App must be created in Microsoft Azure AD. These settings typically found here https://docs.microsoft.com/en-us/graph/auth-register-app-v2. [API Help..]
Steps to get Power BI Credentials : User Credentials [OAuth]
Firstly, login into Azure Portal and there create an OAuth application:
- Go to Azure Portal and login there.
- Then go to Azure Active Directory.
- On the left side click menu item App registrations
- Then proceed with clicking New registration.
- Enter a name for your application.
- Select the account types to support with the Supported account types option.
- In Redirect URI, select Web.
- In the textbox enter https://zappysys.com/oauth as the Redirect URI or another valid redirect URL.
- Use this same Redirect URI in the Redirect URI (must match App Redirect URL) grid row.
- Copy Client ID and paste it into the API Connection Manager configuration grid in the Client ID row.
- Click on the Endpoints link and copy the OAuth 2.0 authorization endpoint (v2) URL to the Authorization URL grid row. Usually it looks similar to this:
- https://login.microsoftonline.com/daed1250-xxxx-xxxx-xxxx-ef0a982d3d1e/oauth2/v2.0/authorize
- Copy the OAuth 2.0 token endpoint (v2) URL to the Token URL grid row. Usually it looks similar to this:
- https://login.microsoftonline.com/daed1250-xxxx-xxxx-xxxx-ef0a982d3d1e/oauth2/v2.0/token
- Close "Endpoints" popup and create a Client Secret in the Certificates & secrets tab.
- Proceed by clicking New client secret and setting expiration period. Copy the client secret and paste it into configuration grid in Client Secret row.
- Now lets setup permissions for the app. Click on API Permissions and on the page click Plus Sign Add Permission
- Click on Microsoft Graph API and then choose Delegated Permissions
- on Permission list page search or choose permissions as needed. We need to enable following Permissions from 2 Sections: Microsoft Graph API and Power BI Service.
- Make sure you have checked below permissions (If you do not need Write feature then you can skip Write scopes)
offline_access Dataset.ReadWrite.All
- Click Generate Token to generate tokens.
- That's it!
Power BIUser Credentials [OAuth]https://api.powerbi.com/v1.0/myorgRequired Parameters Authorization URL Fill in the parameter... Token URL Fill in the parameter... Client ID Fill in the parameter... Scope Fill in the parameter... Default Dataset (select after generating tokens) Fill in the parameter... Optional Parameters Client Secret Fill in the parameter... Redirect URI (must match App Redirect URI) Fill in the parameter... Default Workspace (Keep Empty for My Workspace - select after generating tokens) Fill in the parameter... RetryMode Fill in the parameter... RetryStatusCodeList Fill in the parameter... RetryCountMax Fill in the parameter... RetryWaitTimeMs Fill in the parameter... RetryMultiplyWaitTime Fill in the parameter... Login options Fill in the parameter... -
Select the desired endpoint, change/pass the properties values, and go to the Mappings tab to map the columns.
API Destination - Power BIConnect to your Power BI account and retrieve data, refresh datasets, etc. -
Finally, map the desired columns:
API Destination - Power BIConnect to your Power BI account and retrieve data, refresh datasets, etc. -
That's it; we successfully configured the POST API Call. In a few clicks we configured the Power BI API call using ZappySys Power BI Connector
Advanced topics
Actions supported by Power BI Connector
Power BI Connector support following actions for REST API integration. If some actions are not listed below then you can easily edit Connector file and enhance out of the box functionality.Parameter | Description |
---|---|
Id |
|
Parameter | Description |
---|---|
WorkspaceId |
|
Parameter | Description |
---|---|
Id |
|
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
Definition |
|
||||
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
Id |
|
||||
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
Id |
|
||||
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
DatasetId |
|
||||
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
TableName |
|
||||
DatasetId |
|
||||
WorkspaceId |
|
Parameter | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TableName |
|
||||||||||||
DatasetId |
|
||||||||||||
WorkspaceId |
|
||||||||||||
DaxFilter |
|
Parameter | Description | ||||
---|---|---|---|---|---|
TableName |
|
||||
DatasetId |
|
||||
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
TableName |
|
||||
DatasetId |
|
||||
WorkspaceId |
|
Parameter | Description | ||||
---|---|---|---|---|---|
DAX query |
|
||||
DatasetId |
|
||||
WorkspaceId |
|
Parameter | Description |
---|---|
Url |
|
Body |
|
IsMultiPart |
|
Filter |
|
Headers |
|
Conclusion
In this article we discussed how to connect to Power BI in SSIS and integrate data without any coding. Click here to Download Power BI Connector for SSIS and try yourself see how easy it is. If you still have any question(s) then ask here or simply click on live chat icon below and ask our expert (see bottom-right corner of this page).
Download Power BI Connector for SSIS
Documentation
More integrations
Other application integration scenarios for Power BI
Other connectors for SSIS
Download Power BI Connector for SSIS
Documentation
How to connect Power BI in SSIS?
How to get Power BI data in SSIS?
How to read Power BI data in SSIS?
How to load Power BI data in SSIS?
How to import Power BI data in SSIS?
How to pull Power BI data in SSIS?
How to push data to Power BI in SSIS?
How to write data to Power BI in SSIS?
How to POST data to Power BI in SSIS?
Call Power BI API in SSIS
Consume Power BI API in SSIS
Power BI SSIS Automate
Power BI SSIS Integration
Integration Power BI in SSIS
Consume real-time Power BI data in SSIS
Consume real-time Power BI API data in SSIS
Power BI ODBC Driver | ODBC Driver for Power BI | ODBC Power BI Driver | SSIS Power BI Source | SSIS Power BI Destination
Connect Power BI in SSIS
Load Power BI in SSIS
Load Power BI data in SSIS
Read Power BI data in SSIS
Power BI API Call in SSIS