Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

How Report server store and run the Power BI reports?

I would like to know how Power BI reports are stored on the Report server when I use Live connection, Direct Query or Import Data from Excel. (I use on premise gateway.)

The only thing I found was the "Catalog", however I could not find proper documentation on how the report server really works.

 

 

1 ACCEPTED SOLUTION

When you save pbix report (import mode) to on-prem Power BI Report Server, then whole .pbix binnary content is saved directly to CatalogItemExtendedContent table on MSSQL Server as CatalogItem, and also is content of your .pbix report split to DataModel (including data) and ReportDefinition part and both is also saved to this table.

 

 

When user open this report:

-PBI Server check if DataModel is already loaded, if not, PBI Server load DataModel (including data) (from CatalogItemExtendedContent table) in to SSAS internal in-memory instance.

-PBI Server load ReportDefinition (from CatalogItemExtendedContent table) and send them to client

-After client open report, DAX queries of visuals are redirected to internal SSAS instance.

 

 

 

In Direct Query mode it is almost same, only change, DataModel which is same way loaded to SSAS, not contain data, but only DataModel alone. But this DataModel must be also load from MSSQL DB to SSAS instance. And clients sent DAX queries to SSAS same way, but SSAS instance translate DAX queries to queries to source. If you want true direct query to source (without SSAS model) use paginated report.

 

 

 

In case of Live connection is different, there no DataModel, there is only ReportDefiniton. It is loaded from MSSQL DB to client. And after, client DAX queries are redirected to separated SSAS instance.

 

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

Thank you @FarhanAhmed 

 

I would like to know more. Where does the report seport server saves/ stores the Power BI reports? Are they physically saved somewhere or it retrieves them from a local file?

 

In my case, I have created and published 2 reports (1 with Direct query and 1 with import data from excel files) and I can see n the "Catalog" that the queries run in 1-2 seconds, but the reports run in 30 seconds- 10 minutes!! Obviously the loading time is inacceptable for the end user. 

 

In addition to this, i've read somewhere that in order to mimimize the report run time I can disable the Anti virus on the folder in wich i've saved the reports. Is this a common practice? Do you know a similar way I can follow?

 

Thanks again for your help!

When you save pbix report (import mode) to on-prem Power BI Report Server, then whole .pbix binnary content is saved directly to CatalogItemExtendedContent table on MSSQL Server as CatalogItem, and also is content of your .pbix report split to DataModel (including data) and ReportDefinition part and both is also saved to this table.

 

 

When user open this report:

-PBI Server check if DataModel is already loaded, if not, PBI Server load DataModel (including data) (from CatalogItemExtendedContent table) in to SSAS internal in-memory instance.

-PBI Server load ReportDefinition (from CatalogItemExtendedContent table) and send them to client

-After client open report, DAX queries of visuals are redirected to internal SSAS instance.

 

 

 

In Direct Query mode it is almost same, only change, DataModel which is same way loaded to SSAS, not contain data, but only DataModel alone. But this DataModel must be also load from MSSQL DB to SSAS instance. And clients sent DAX queries to SSAS same way, but SSAS instance translate DAX queries to queries to source. If you want true direct query to source (without SSAS model) use paginated report.

 

 

 

In case of Live connection is different, there no DataModel, there is only ReportDefiniton. It is loaded from MSSQL DB to client. And after, client DAX queries are redirected to separated SSAS instance.

 

FarhanAhmed
Community Champion
Community Champion

I think report information stored Catalog table with the unique key is ItemID.

The report content information stored in "[CatalogItemExtendedContent]" can be joined using ItemId

The Connection information of data sources used in PBI Reports stored in "[dbo].[DataModelDataSource]" table and can be joined using "ItemID"

 

 

There are stored procedures available in the Report Server database which executes whenever you add/remove/update any subscription or user information of the database and report addition that can be explored.

 

 

 







Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!

Proud to be a Super User!




Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.