Created with AI.
The data in Dynamics 365 is stored in Dataverse, and Power BI has a dedicated connector for it. Setting up the connection itself takes a few minutes. What takes time—and is worth getting right the first time—is the preparation and the choice between Import and DirectQuery.
The Dataverse connection requires the TDS endpoint setting to be enabled in the environment. If it is disabled, the connection fails without an obvious reason. The setting can be found under the feature settings in the Power Platform admin center, and it typically needs to be enabled by a Power Platform administrator.
The connection uses TCP port 1433 by default. If it is blocked on the corporate network, you can use port 5558 instead by appending the port number to the environment address, in the format environmentid.crm.dynamics.com,5558. The error message you receive when the port is blocked refers to SQL Server and almost never to Dataverse, so it is easy to misinterpret.
The address has the format environmentid.crm.dynamics.com. You can find it by opening make.powerapps.com, selecting the correct environment in the upper-right corner, and going to Advanced Settings. Copy the root of the address from the tab that opens, without https:// or a trailing slash.
Open Power BI Desktop, select Get data on the ribbon, and find Dataverse in the list of connectors. Do not select Common Data Service (Legacy)—it is being phased out, and Dataverse is its direct replacement.
The first time you connect to the environment, select Sign in, enter your work account, and then select Connect. The authentication type is Organizational account.
Navigator displays all the tables in the environment. Select only the ones you actually need. The Dataverse connector retrieves around 500 rows per second, so every unnecessary table adds to the refresh time each time the report runs.
Power BI Desktop asks which data connectivity mode you want to use, and the choice is difficult to change later. Import loads the data into the model and provides fast reports, but the figures are only as current as the latest refresh. DirectQuery queries Dataverse with every click and provides real-time data, but the report becomes slower and puts a load on the environment. Choose Import unless someone actually needs to see changes the moment they happen.
Dataverse includes columns that reference other tables. This is convenient, but it affects performance and may result in an error message stating that the preview value is too complex to display. In that case, you can turn off Include relationship columns and build the relationships yourself in the model.
The Dataverse connector is designed for analyzing moderate amounts of data, not for bulk extraction. When refreshes start taking disproportionately long or time out, that is a sign that you should switch to Azure Synapse Link, which is specifically designed for this purpose.
Ask a question or share what helped you.

Published 9/29/2025
Jets Group was looking to modernize its business systems and planned to start with ERP. Along the way, it became clear that the foundation for growth lay not in the technology, but in understanding and improving customer processes.
Read moreDo you have a question or experience to share?
Be the first to contribute.