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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
Anonymous
Not applicable

Needed instances for PowerBI report server

Hi,

 

i´m new to PowerBI and PBIReportServer also (will call it PBRS from here 🙂 ). From my reading so far, i have learnt that in order to run PBRS i need to install 

- the PBRS itself

- an instance of SQLServer RDBMS in order to host the ReportServer database (just like with SSRS before)

 

Now i have heard (can´t remember/find the source of that ) something along the lines of "you will need a SSAS Tabular instance to deploy the models created with PowerBI", and it drives me crazy that i am not able to find any more information regarding this.

 

So, my question is: Is the statement above true, and if so, which functionality of PBRS/PB is backed by an SSAS tabular instance? And: where to find the documentation about it? 

 

Thank you!

 

P.S:What i found is that you need an instance of SSAS in PowerPivot mode in order to host Excel Files, but this is not what i´m looking for...

1 ACCEPTED SOLUTION
Anonymous
Not applicable

I'm going to caveat all of this with this is what I've figured out fomr looking at what seems to happen and a few talks/blogs I've read that detail some of the inner wokrings of PBI-SSRS. So I could be entirely wrong.

 

Some of this confusion is because of what happens under the covers.

 

When you publish a PBIX file it gets split into two parts in the ReportServer DB. The Report part and the data model part. The Report part is the visuals and layout and such. The data model is the imported data when you have imported it, the transformations you applied in the query editor etc. If you are using direct query I think the data model is just the connection details to the backend, there may be a small amount of data cached (the values on the visuals that were saved maybe I'm not entirely sure.) You can see these two binary blobs in the  dbo.CatalogItemExtendedContent table.

 

When you schedule a data refresh the data model bit gets refreshed but the visuals remain untouched. The two are connected back together when you view a report.

 

The SSAS confusion comes in here. When you view a PBIX file on PBI-SSRS if its a live connection the visuals gets sent to your browser which spins it all up and some local web services are used to provide the data. These web services send queries to the data source directly if you are in live query/direct connection mode.

 

Howevere if the data has been imported the visuals still get sent to you and the web  services spin up in the same manner, but then PBI-SSRS starts an instance of SSAS in the background, the data model is loaded into this captive SSAS instance and this is what is queried by the web services as the user slices and dices the data.

 

You can find the dll for this installed in your ReportServer\bin\msmdlocal directory

 

If you have 15 users actively viewing PBIX reports at the same time you will see a lot of captive msmdsrv.exe instances (the SSAS engine) running on your server. These are the "hidden" instances behind the PBI-SSRS reports. They eventually get shut down and cleaned up somehow (magic pixies?)

 

So you do end up running SSAS on the PBI-SSRS server, sort of. 

 

 

View solution in original post

5 REPLIES 5
jcollinson2001
Resolver IV
Resolver IV

You don't need an SSAS tabular instance. SSAS Tabular could be a data source for your reports, but it's not a necessity for running PBIRS.

Anonymous
Not applicable

Hi,

 

thank you for clarification! Do you know anything about that "deploy the model"-part? As far as i get it, reports and datasets get deployed to the PBRS (that is, the relational database "ReportServer" in the background) and you don´t even have the possibility to deploy something to somewhere else?  

Depending on the data source, you can specify your connection to operate in "Import", or "Direct Query" mode.

 

If in import mode your data will be imported into PBIRS which is actually an SSAS instance under the hood, but nothing that you need to configure or worry about - it gets installed as part of PBIRS. The report will connect to PBIRS to get it's data, the data will be refreshed in PBIRS on regular schedule that you will set up.

 

If in Direct Query mode, your report will connect directly to the data source.

 

Here's a list of the data sources that support Direct Query: https://docs.microsoft.com/en-us/power-bi/desktop-directquery-data-sources

 

(NOTE ignore the information about a gateway - this is only required when using the Power BI cloud service).

Anonymous
Not applicable

I'm going to caveat all of this with this is what I've figured out fomr looking at what seems to happen and a few talks/blogs I've read that detail some of the inner wokrings of PBI-SSRS. So I could be entirely wrong.

 

Some of this confusion is because of what happens under the covers.

 

When you publish a PBIX file it gets split into two parts in the ReportServer DB. The Report part and the data model part. The Report part is the visuals and layout and such. The data model is the imported data when you have imported it, the transformations you applied in the query editor etc. If you are using direct query I think the data model is just the connection details to the backend, there may be a small amount of data cached (the values on the visuals that were saved maybe I'm not entirely sure.) You can see these two binary blobs in the  dbo.CatalogItemExtendedContent table.

 

When you schedule a data refresh the data model bit gets refreshed but the visuals remain untouched. The two are connected back together when you view a report.

 

The SSAS confusion comes in here. When you view a PBIX file on PBI-SSRS if its a live connection the visuals gets sent to your browser which spins it all up and some local web services are used to provide the data. These web services send queries to the data source directly if you are in live query/direct connection mode.

 

Howevere if the data has been imported the visuals still get sent to you and the web  services spin up in the same manner, but then PBI-SSRS starts an instance of SSAS in the background, the data model is loaded into this captive SSAS instance and this is what is queried by the web services as the user slices and dices the data.

 

You can find the dll for this installed in your ReportServer\bin\msmdlocal directory

 

If you have 15 users actively viewing PBIX reports at the same time you will see a lot of captive msmdsrv.exe instances (the SSAS engine) running on your server. These are the "hidden" instances behind the PBI-SSRS reports. They eventually get shut down and cleaned up somehow (magic pixies?)

 

So you do end up running SSAS on the PBI-SSRS server, sort of. 

 

 

Anonymous
Not applicable

Thank you all, got it now 🙂 

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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