cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
dorpap01
Regular Visitor

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
josef78
Continued Contributor
Continued Contributor

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
dorpap01
Regular Visitor

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!

josef78
Continued Contributor
Continued Contributor

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

FarhanAhmed
Super User II
Super User II

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
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!