How to integrate Power BI using Talend Studio
Learn how to quickly and efficiently connect Power BI with Talend Studio for smooth data access.
Read and write Microsoft Power BI data effortlessly. Access, refresh, and manage datasets, reports, and dashboards — almost no coding required. You can do it all using the high-performance Power BI ODBC Driver for Talend Studio (often referred to as the Power BI Connector). We'll walk you through the entire setup.
Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.
Create data source in ZappySys Data Gateway
In this section we will create a data source for Power BI in the Data Gateway. Let's follow these steps to accomplish that:
-
Download and install ODBC PowerPack (if you haven't already).
-
Search for
gatewayin the Windows Start Menu and open ZappySys Data Gateway Configuration:
-
Go to the Users tab and follow these steps to add a Data Gateway user:
- Click the Add button
-
In the Login field enter a username, e.g.,
john - Then enter a Password
- Check the Is Administrator checkbox
- Click OK to save
-
Now we are ready to add a data source:
- Click the Add button
- Give the Data source a name (have it handy for later)
- Then select Native - ZappySys API Driver
- Finally, click OK
PowerBiDSNZappySys API Driver
-
When the Configuration window appears give your data source a name if you haven't done that already, then select "Power BI" from the list of Popular Connectors. If "Power BI" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:
PowerBiDSNPower BI
-
Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.
Power BI authentication
Use delegated access (User Credentials) whenever you want to let a signed-in user work with their own resources or resources they can access. Whether it's an admin setting up policies for their entire organization or a user deleting an email in their inbox, all scenarios involving user actions should use delegated access. [API reference]
Follow these simple steps below to create Microsoft Entra ID application with delegated access:
WARNING: If you are planning to automate processes, we recommend that you use a Application Credentials authentication method. In case, you still need to use User Credentials, then make sure you use a system/generic account (e.g.automation@my-company.com). When you use a personal account which is tied to a specific employee profile and that employee leaves the company, the token may become invalid and any automated processes using that token will start to fail.- Navigate to the Azure Portal and log in using your credentials.
- Access Microsoft Entra ID.
-
Register a new application by going to App registrations and clicking on New registration button:
INFO: Find more information on how to register an application in Graph API reference. -
When configuration window opens, configure these fields:
-
Supported account type
- Use
Accounts in this organizational directory only, if you need access to data in your organization only.
- Use
-
Supported account type
-
Redirect URI:
- Set the type to
Public client/native (mobile & desktop). - Use
https://zappysys.com/oauthas the URL.
- Set the type to
-
After registering the app, copy the Application (client) ID for later:
-
Copy OAuth authorization endpoint (v2) & OAuth token endpoint (v2) URLs to use later in the configuration:
-
Now go to SSIS package or ODBC data source and use the copied values in User Credentials authentication configuration:
- In the Authorization URL field paste the OAuth authorization endpoint (v2) URL value you copied in the previous step.
- In the Token URL field paste the OAuth token endpoint (v2) URL value you copied in the previous step.
- In the Client ID field paste the Application (client) ID value you copied in the previous step.
-
In the Scope field use the default value or select individual scopes, e.g.:
-
offline_access -
https://analysis.windows.net/powerbi/api/Workspace.Read.All -
https://analysis.windows.net/powerbi/api/Dataset.Read.All -
https://analysis.windows.net/powerbi/api/Dataset.ReadWrite.All
-
- Press Generate Token button to generate Access and Refresh Tokens.
- Click Test Connection to confirm the connection is working.
- Optional step. Choose Default Workspace from the drop down menu.
- Choose Default Dataset from the drop down menu.
- Done! Now you are ready to use the API Connector!
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
User Credentials [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
PowerBiDSNPower 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 Redirect URI (must match App Redirect URI) Default Workspace (Keep Empty for My Workspace - select after generating tokens) RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429|503 RetryCountMax 20 RetryWaitTimeMs 1000 RetryMultiplyWaitTime True Login options
-
Once the data source connection has been configured, it's time to configure the SQL query. Select the Preview tab and then click Query Builder button to configure the SQL query:
ZappySys API Driver - Power BIRead and write Microsoft Power BI data effortlessly. Access, refresh, and manage datasets, reports, and dashboards — almost no coding required.PowerBiDSN
-
Start by selecting the Table or Endpoint you are interested in and then configure the parameters. This will generate a query that we will use in Talend Studio to retrieve data from Power BI. Hit OK button to use this query in the next step.
SELECT * FROM Workspaces WHERE Id='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'
Some parameters configured in this window will be passed to the Power BI API, e.g. filtering parameters. It means that filtering will be done on the server side (instead of the client side), enabling you to get only the meaningful datamuch faster . -
Now hit Preview Data button to preview the data using the generated SQL query. If you are satisfied with the result, use this query in Talend Studio:
ZappySys API Driver - Power BIRead and write Microsoft Power BI data effortlessly. Access, refresh, and manage datasets, reports, and dashboards — almost no coding required.PowerBiDSNSELECT * FROM Workspaces WHERE Id='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'
You can also access data quickly from the tables dropdown by selecting <Select table>.AWHEREclause,LIMITkeyword will be performed on the client side, meaning that thewhole result set will be retrieved from the Power BI API first, and only then the filtering will be applied to the data. If possible, it is recommended to use parameters in Query Builder to filter the data on the server side (in Power BI servers). -
Click OK to finish creating the data source.
-
Once done, go to the Network Settings tab and Add a firewall rule for inbound traffic:
- This will initially allow all inbound traffic.
- Click Edit IP filters to restrict access to specific IP addresses or ranges.
-
Crucial Step: After creating or modifying the data source, you must:
- Click the Save button to persist your changes.
- Hit Yes when prompted to restart the Data Gateway service.
This ensures all changes are properly applied:
Skipping this step may cause the new settings to fail, preventing you from connecting to the data source.
Read Power BI data in Talend Studio
To read Power BI data in Talend Studio, we'll need to complete several steps. Let's get through them all right away!
Create connection for input
- First of all, open Talend Studio
-
Create a new connection:
-
Select Microsoft SQL Server connection:
-
Name your connection:
-
Fill-in connection parameters and then click Test connection:
PowerBiDSN
-
If the List of modules not installed for this operation window shows up, then download and install all of them:
Review and accept all additional module license agreements during the process -
Finally, you should see a successful connection test result at the end:
Add input
-
Once we have a connection to ZappySys Data Gateway created, we can proceed by creating a job:
-
Simply drag and drop ZappySys Data Gateway connection onto the job:
-
Then create an input based on ZappySys Data Gateway connection:
-
Continue by configuring a SQL query and click Guess schema button:
-
Finish by configuring the schema, for example:
Add output
We are ready to add an output. From Palette drag and drop a tFileOutputDelimited output and connect it to the input:
Run the job
Finally, run the job and integrate your Power BI data:
Supported Power BI Connector actions
Got a specific use case in mind? We've mapped out exactly how to perform a variety of essential Power BI operations directly in Talend Studio, so you don't have to figure out the setup from scratch. Check out the step-by-step guides below:
- Create a Push Dataset
- Delete a Dataset
- Execute a DAX query
- Get a Dataset
- Get a Workspace
- Get Dataflows
- Get Datasets
- Get Table Columns
- Get Table Rows
- Get Tables
- Get Workspaces
- Insert Rows into Push Dataset Table
- Refresh a Dataflow
- Refresh a Dataset
- Truncate a Push Dataset Table
- Make Generic REST API Request
- Make Generic REST API Request (Bulk Write)
Conclusion
In this article we showed you how to connect to Power BI in Talend Studio and integrate data without writing complex code — all of this was powered by Power BI ODBC Driver.
Download ODBC PowerPack now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):