Power BI FAQ

This article answers some of the questions you might have about working with Power BI and Business Central.

General questions

I selected a report for my role center in Business Central. If I later make changes to the report's visuals online, does the role center automatically update to my changes?

Yes. The reports you see inside Business Central are embedded directly from Power BI, and not a copy.

Are the Business Central apps for Power BI available in languages other than English?

No. These apps are currently only available in English.

Once a report is published on my powerbi.com workspace, can I download its pbix?

Yes. Learn more at Download a report from the Power BI service to Power BI Desktop.

Can I download the apps as pbix files?

No. Currently, we don’t offer downloading pbix files for the official Power BI apps, because they're published on AppSource.

Questions about user access and licensing

Do I need a Power BI Pro license to publish reports?

No. A Pro license isn't needed to publish reports. The standard (free) Power BI license is enough. Learn more in Power BI Licensing.

Is there anything I can't do with the free license?

You can't share reports or install the Business Central apps for Power BI. The free license allows you to create almost all variations of charts and reports.

If someone shares a report with another person, then that person needs a Pro license to see the report. Are there plans to make this capability possible with the free license?

We don't have control over this requirement. Power BI sets this requirement. Learn more at Share Power BI dashboards and reports with coworkers and others.

How do guest users and delegated admins access my organization's data and reports?

There are some differences and limitations for external users, like guest users and delegated admins. For instance, external users typically have a Power BI license assigned by their own organization. When they sign in to Power BI or Power BI Desktop, they connect to their organization's tenant and shared workspaces by default.

To access your organization's data and shared workspaces or reports, external users must connect to your Microsoft 365 tenant. From Power BI service, they can use the tenant switcher (preview) to connect. Power BI Desktop doesn't support connecting to a provider tenant's data source or service for creating and publishing reports. External users need to use the Power BI service to upload Power BI Desktop files.

Learn more about the features and limitations for guests users in Distribute Power BI content to external guest users.

Questions about the Power BI Designer

Does the connector work with pages exposed as web services?

Web services are an old technology and aren't recommended to use with Power BI. The Power BI connector supports both Business Central web services and API pages, but API pages generally have better performances and are more suited for making data available to other systems. Learn more at Enable Power BI connector to work with Business Central APIs, instead of with web services only.

Can I build a Power BI report using the Sales Invoice Lines or Journal Lines APIs?

The most commonly used line records are available in the Business Central APIs v2.0). So you can use them to build reports in Power BI by selecting them in the Dynamics 365 Business Central connector. However, the Lines APIs are designed for use with specific filters only, and might not work in your scenario. You might get an error similar to "You must specify an ID or a Document ID to get the lines." To fix this problem, do the following steps when getting data from Business Central for the report in Power BI Desktop:

  1. Instead of including the data source for the lines entity, add the parent data source. For example, add Sales Invoice instead of Sales Invoice Lines.

  2. Select Transform Data in the Power BI Desktop action bar.

  3. Select the query you just added, for example Sales Invoices.

  4. To reduce the number of records loaded in your report, apply any needed filtering on the records.

  5. Scroll vertically until you find a column named as the lines, for example SalesInvoiceLines.

  6. Select the expand button in the header of the column, next to the column name.

    Shows the SalesInvoiceLines column in Power BI Desktop.

Is it possible to choose which Business Central environment to get data from for Power BI, for example, like a sandbox or production environment?

Yes. It can be easily chosen. When you connect to Business Central using the connector, you have to choose the environment and company name.

Can I merge data from several production environments of the same tenant?

Yes. In Power BI, just run the "get data" operation again and choose the environment you want.

Which pages in Business Central have the Power BI Report part?

Currently, there are a few selected pages that have a FactBox with a Power BI Reports part for displaying a report.

On list pages, the Power BI Reports part is filtered to show reports that pertain to data in the list. Here's the list type pages that include the Power BI Reports part:

Page ID Name
22 Customer List
27 Vendor List
31 Item List
9305 Sales Order List
9308 Purchase Invoices

Here are other pages that contain the larger, nonfiltered Power BI Reports part:

Page ID Name
1156 Company Detail
4013 Intelligent Cloud Insights
9006 Order Processor Role Center
9008 Whse. Basic Role Center
9010 Production Planner Role Center
9015 Job Project Manager RC
9016 Service Dispatcher Role Center
9022 Business Manager Role Center
9024 Security Admin Role Center
9026 Sales & Relationship Mgr. RC
9027 Accountant Role Center

Tip

We don't have plans to add it to all list pages at the moment. However, you can create a simple page extension that adds the Power BI Reports part in a FactBox. Learn more at Adding Power BI Report Parts to Pages in the Developer and IT Pro help.

Is there any way to filter a dataset from Business Central before I pull it into Power BI, instead of applying filters afterwards?

To filter larger datasets, the easiest way is to set a filter on your Power BI report by editing directly the Power Query formula. Most of the filters you set this way are passed on to Business Central through query folding. See Incremental refresh for datasets.

There's currently no way of setting a filter for the web service data from within Business Central. If your application needs to set a filter from within Business Central, you must create a custom Business Central App for this purpose.

From Power BI, besides using a query, is there another way to get data from Business Central tables that don't have an associated page? For example, like the Item Attributes Value Mapping table.

No. Not at this point.

Are published queries faster to use than published pages?

When it comes to web services, published queries are usually faster than equivalent published pages. The reason is that queries are optimized for reading data and don’t contain expensive triggers like OnAfterGetRecord.

Web services are based on pages or queries that are built for access from the web and not optimized for access from external services. Even though the Business Central connector still supports getting data from web services, we encourage you to use API pages instead of web services whenever possible.

Is there a way for an end user to create a web service with a column that's in a Business Central table, but not a page? Or does the developer have to create a custom query?

There's currently no way of adding a new field to a web service. API pages offer full flexibility on the page structure, so a developer can create a new API page to meet this requirement.

Can I connect Power BI to a read-only database server of Business Central online?

By default, the Power BI connector reads data from a read-only replica of the Business Central database, which is the case for all reports created after February 2022. This behavior causes your reports to refresh faster and has less impact on performance if you're using Business Central while a report is refreshing. We still recommend that you schedule your reports to refresh outside of normal working hours whenever possible.

If you have old reports based on Business Central data, they don't connect to the read-only database replica. In this case, consider recreating the query inside Power BI so that it uses the latest defaults.

When I use the Power BI connector to connect to my custom Business Central API page, I get the error "Cannot insert a record. Current connection intent is Read-Only." How can I fix it?

Reports that use Business Central data connect to a read-only replica of the Business Central database by default. In rare cases, this behavior might cause the error "Current connection intent is Read-Only.". This error typically happens because your custom API is making modifications to Business Central records while Power BI tries to get the data. In particular, it happens as part of the AL triggers: OnInit, OnOpenPage, OnFindRecord, OnNextRecord, OnAfterGetRecord, and OnAfterGetCurrRecord.

To fix this issue by forcing the Business Central connector to allow this behavior, see Building Power BI Reports to Display Business Central Data - Fixing Problems.

How do I change or clear the user account I'm currently using to connect to Business Central from Power BI Desktop?

In Power BI Desktop, do the following steps:

  1. In the File menu, select Options and settings > Data source settings.
  2. Select Dynamics Business Central from the list, then select Clear permissions > Delete.

Then next time you connect to Business Central to get data, you'll be asked to sign in.

Questions about data refresh performance

Is it faster to get data using API pages than using web services?

Yes. Our tests indicate that API pages are up to 25% more performant than web services.

Are there plans to have a mirror on the Azure SQL Database instance, which I can connect to directly?

No. Not at this point. You can only communicate with Business Central through APIs.

Loading data from Business Central web services seems slow. Is there any way to get data directly from the SQL database table?

No. Direct access to the database isn't possible, but switching to API pages helps greatly.

Troubleshooting questions

My semantic model does not refresh. How do I see what is wrong?

If a semantic model cannot refresh, you can see why in its workspace, where semantic models with errors show a small warning icon.

Learn more in the Power BI article Data refresh in Power BI.

Advanced questions

Are there plans for the Power BI connector to support the incremental refresh features in the Power BI Service?

Yes. It's on our roadmap.

If a Business Central on-premises solution doesn't have internet access, can I still use Power BI?

Yes. In this case, you use Power BI Desktop locally and connect to the Business Central on-premises. Once connected, can create and view reports, but you just can't publish them to the Power BI Service.

Are there any plans to make it possible to replicate Business Central online databases so they're accessible for read-only SQL queries? This capability would support incremental refresh and be a lot faster than APIs or web services.

Yes. We have this feature on our long-term roadmap.

If I use Azure Data Factory to get data from Business Central and consume it on Power BI, does that help in increase in performance?

Yes. This advanced scenario helps Business Central stay performant, because the data access would be done via the Azure Data Factory.

Are there any plans to support Power BI deployment pipelines or a way to build deployment pipelines for PBI reports, similar to extensions? Or maybe even a simple API in the Business Admin Center?

We're looking into this feature. Power BI offers rich APIs to control report deployments. Learn more at Introduction to deployment pipelines.

When I get data from Business Central to use in my Power BI reports, I see some values like "x0020". What are these values?

Some API pages, including most API v2.0 pages, have fields based on AL Enum objects. Fields based on AL enum objects must have names that are consistent and always the same, so that filters on the report always work—no matter the language or operating system you're using. For this reason, the fields based on AL enums aren't translated and are encoded to avoid any special character, including the space. In particular, whenever there's an empty option in the AL Enum object, it's encoded to "x0020". You can always apply a transformation to your data on Power BI if you want to display some different value for these fields, for example "Empty".


Power BI licensing
Business Central and Power BI introduction
Power BI Integration Overview
Enabling Power BI in Business Central
Work with Power BI reports in Business Central
Connect to Power BI from Business Central on-premises
Building Power BI Reports to display Business Central data
Power BI documentation

Find free e-learning modules for Business Central here