Power BI API Access for ETL+ Refreshes
This page describes the Azure Portal and Power BI Service settings so DataSelf ETL+ can refresh your Power BI semantic models as part of your ETL processes.
System requirements:
An active Power BI Service with at least one Power BI semantic model.
An user with admin rights to your Azure portal
An user with admin rights to your Power BI Service (Web portal)
An active DataSelf ETL+ license
On the Client’s Azure Portal
Search and select
App registrations→New registrationNamebox: Type in a name such asDataSelf Power BI Service PrincipalRegisterManage→Authentication(if you don’t see the option below, switch to the Azure legacy UI)Advanced Settings→Enabled the following mobile and desktop flows:YesSave
Manage→API permissionsAdd a permission->Power BI Service→Application permissionsCheck
Tenant.Read.AllCheck
Tenant.ReadWrite.AllAdd permissions
Search and select
GroupsNew group→Namebox: Type in a name such asSG Power BI API AccessCreate
All groups-> Search and select your new group (as suggested:SG Power BI API Access)Manage->Members->Add membersFind and select the Enterprise app created in the app registration step above (as suggested:
DataSelf Power BI Service Principal)Select
IDs for ETL+: The following steps will provide IDs to be copied into your ETL+ later on.
Search and select
App registrations→ SelectAll applicationsFind the app registered created above; as suggested:
DataSelf Power BI Service PrincipalCopy the
Application (client) IDand paste it into a text file, label it asClient ID.Manage->Certificates & secrets->New client secretGive it a name such as
DataSelf ETL Client SecretAddCopy the
Valueand paste into the text file and label it asClient Secret
Click on your name on the Azure portal’s top right corner ->
Switch directoryCopy the
Directory IDfrom your tenant and paste into the text file and label itTenant ID
On the Client’s Power BI Service
Home->Settings->Admin Portal->Tenant SettingsScroll half way down on the right panel to the
Developer SettingssectionService principals can call Fabric public APIs→EnabledSelect
Specific security groups.Search for the security group created above, as suggested:
SG Power BI API AccessApply. The changes above might take up to 15 minutes to apply.
Home->WorkspacesHover over the Workspace with your Power BI models, click...->Workspace accessAdd people or groupsType in and select the new app name, as suggested
DataSelf Power BI Service PrincipalChange the Role to
Admin->Add
On the Client’s ETL+ Web
Log to ETL+ Web (https://etl.dataself.com)
Go to the
ETLpage →External Objects-> Click+→Power BI RefreshType in the
Semantic Model Namefor one of your Power BI models.Type in the
Workspace Namewhere the model is.ConfirmClick the
wrenchicon by yourPower BI Refreshblue header, and then copy and paste the IDs saved during the IDs for ETL+ section above. The Alias box can be any alias of your choice.
Confirm→Save.
You should be all set to refresh your Power BI models on the Workspace above via ETL+.
If applicable, you can now add more Power BI models to your ETL+ by clicking
Extenal Objects→+→Power BI Refresh, fill out the form,Confirm→Save.You can refresh your Power BI models in two main ways via ETL+:
Individually on demand: On the
ETLpage →External Objects→Power BI Refreshsection, click theRun Scripticon (play icon) by the model name.On demand and/or via schedule, individually or in groups: Add your Power BI models into ETL+ Jobs to run manually or on schedule:
On the
ETLpage → then click the wrench icon on theETL+ Jobheader.On the Job tab on the right, assuming you already have Jobs created, click the
Job Stepsicon of a Job.On the right panel shows the Job Steps, click the
Show Uncheckedicon (crossed eye icon) to view all hidden steps, scroll down to find your Power BI models, check the checkbox for the desired ones.If you need to run the Power BI models before or after other Job Steps, drag the models up and down as needed.
Confirm→Save.
You may now run this Job that includes Power BI models manually of via Schedule.