Skip to main content
Skip table of contents

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 registrationsNew registration

    • Name box: Type in a name such as DataSelf Power BI Service Principal

    • Register

    • ManageAuthentication (if you don’t see the option below, switch to the Azure legacy UI)

      • Advanced SettingsEnabled the following mobile and desktop flows: Yes

      • Save

    • ManageAPI permissions

      • Add a permission-> Power BI ServiceApplication permissions

        • Check Tenant.Read.All

        • Check Tenant.ReadWrite.All

        • Add permissions

  • Search and select Groups

    • New groupName box: Type in a name such as SG Power BI API Access

      • Create

    • All groups -> Search and select your new group (as suggested: SG Power BI API Access)

      • Manage -> Members -> Add members

        • Find 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 → Select All applications

    • Find the app registered created above; as suggested: DataSelf Power BI Service Principal

    • Copy the Application (client) ID and paste it into a text file, label it as Client ID.

    • Manage -> Certificates & secrets -> New client secret

      • Give it a name such as DataSelf ETL Client Secret

      • Add

      • Copy the Value and paste into the text file and label it as Client Secret

    • Click on your name on the Azure portal’s top right corner -> Switch directory

      • Copy the Directory ID from your tenant and paste into the text file and label it Tenant ID

On the Client’s Power BI Service

  • Home -> Settings -> Admin Portal -> Tenant Settings

  • Scroll half way down on the right panel to the Developer Settings section

    • Service principals can call Fabric public APIsEnabled

    • Select Specific security groups.

      • Search for the security group created above, as suggested: SG Power BI API Access

      • Apply. The changes above might take up to 15 minutes to apply.

  • Home -> Workspaces

    • Hover over the Workspace with your Power BI models, click ... -> Workspace access

    • Add people or groups

    • Type in and select the new app name, as suggested DataSelf Power BI Service Principal

    • Change the Role to Admin-> Add

On the Client’s ETL+ Web

  • Log to ETL+ Web (https://etl.dataself.com)

  • Go to the ETL page → External Objects -> Click +Power BI Refresh

    • Type in the Semantic Model Name for one of your Power BI models.

    • Type in the Workspace Name where the model is.

    • Confirm

    • Click the wrench icon by your Power BI Refresh blue 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.

      image-20251205-011149.png
    • ConfirmSave.

  • 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, ConfirmSave.

  • You can refresh your Power BI models in two main ways via ETL+:

    • Individually on demand: On the ETL page → External ObjectsPower BI Refresh section, click the Run Script icon (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 ETL page → then click the wrench icon on the ETL+ Job header.

      • On the Job tab on the right, assuming you already have Jobs created, click the Job Steps icon of a Job.

      • On the right panel shows the Job Steps, click the Show Unchecked icon (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.

      • ConfirmSave.

  • You may now run this Job that includes Power BI models manually of via Schedule.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.