Skip to main content
Skip table of contents

Power BI Semantic Model Deployment

This describes connecting a DataSelf semantic model template to a data warehouse and deploying it to a Power BI Service tenant.


  • Power BI user rights:

    • Credentials with Admin or Member rights to the Power BI Tenant. We recommend not using a guest user for this purpose, but when using a guest user, Admin or Member rights to the Workspaces to publish the semantic model.

    • The credentials must have a Power BI Desktop Pro or Premium license in the Power BI Service.

    • Inform the Tenant URL (from the Tenant’s About Power BI page).

    • Power BI is licensed on a named-user basis. Every person must have their license.

  • Access to the data warehouse’s Azure SQL database.

    • It’s all set if the data warehouse is hosted by DataSelf.

    • If the data warehouse is hosted in the client’s Azure SQL, please provide:

      • URL to the dw in Azure SQL.

      • SQL Credentials with reading rights.

      • The required tables the model uses should already be populated in the dw.

  • Access to DataSelf semantic model templates.

    • It’s all set if the deployment will be performed by DataSelf (GitHub).

    • Otherwise, please request the templates to your DataSelf tech lead.

Power BI Service Workspace

We recommend creating a Workspace for each reporting area or group of people. For instance, a Workspace for AP Accounts Payable.

Data Warehouse (dw) Connection

  1. Find the model file (pbix, e.g., _AP_Aging_Today.pbix) in the GitHub folder and double-click it to open in Power BI Desktop.

  2. In Power BI Desktop, click Transform data -> Data source settings → Change Source → enter the client’s Server and Database fields → Ok.

  3. Click Edit Permissions → Edit → select Database on the left panel → enter the client’s SQL credentials in the User name and Password fields → Save → Ok → Close.

  4. You might need to click Apply changes.

  5. If there are errors, the dw table and column names might have changed:

    1. Click Transform data → Transform data → select each Query on the left panel → fix the table name from the box with the M expression (e.g., rename “Source{[Schema="dbo",Item="_D_Vendor" to “Source{[Schema="dbo",Item="D_Vendor" (drop '_' prefix from D_etc).

    2. Press Enter to apply the change.

  6. Click Refresh and wait until it completes successfully.

Publish the Model to the Power BI Service

  1. If the user is a guest user of the Power BI Service (otherwise, skip to 3):

    1. You’ll need to sign in to your regular Power BI Service first by clicking the Sign in on the top right.

    2. Sign out by clicking your name on the top right → Sign out.

    3. Click Sign in → Continue to the dialog with your email → User another account → Sign-in options → Sign-in to an organization → enter the domain name of the organization (e.g., → Next → click your email. This Power BI Desktop should now be connected to the proper PBI Service Tenant.

    4. Go to item 3 below (skip 2.).

  2. If the user is from the Power BI Service tenant (same domain) with Admin or Member rights:

    1. If your PBI Desktop is not signed in yet, do so by clicking Sign in on the top right.

  3. Click Publish → Save → click the proper client’s Workspace name → Select → Ok or Replace → wait for the successful publishing.

  4. Use the Tenant URL to check if the model has been successfully published.

  5. Testing the refresh of the model in the PBI Service:

    1. Only Admin or Member users from the tenant can update the model’s credentials to refresh it.

    2. Go to the model’s Settings → Data source credentials → Edit credentials → keep it Basic → enter User name and Password from the dw SQL Credentials → Sign in.

    3. Go back to the Workspace with the model → click the Refresh icon by the model → the Refreshed column should update once it’s completed. Otherwise, it’ll show a triangle with an error message.

  6. If desired, click the Schedule refresh → Refresh → toggle it On → select the scheduling options → Apply.

JavaScript errors detected

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

If this problem persists, please contact our support.