Power BI : Deployment Models

When we propose BI for our clients, typical questions we get are such as:

“Do we need to upload our data to cloud?”

“How secure it would be to upload data on cloud ? ”

“Is it only available as on cloud? ”

We have most of our systems on premise, how would it fetch data from these systems if its on cloud?

“Can we deploy it on premise?”

“Do we need data ware house? or its handled by Power BI?” etc etc…..

We should be able to address these questions satisfactorily for a successful sales pitch. To answer these questions we should be aware of the deployment models of Power BI. In this blog let us go through these aspects of Power BI.

We need to first understand generic  deployment models

  • On-Premises: Refers to data, applications and infrastructure entirely owned by client at client data center and client has complete control over it.
  • Cloud: Refers to data, infrastructure and/or services residing in a public cloud environment and completely managed /controlled by third party. Microsoft Azure and web based Power BI service are examples of the cloud offerings.
  • Hybrid: This denotes to the implementation which  spans both on premises and cloud sources which can be services, infrastructure and data sources

Power BI supports all three types of models. Let us see how this is possible and exactly what is to be  done.

On-Premises Deployment :

Power BI can be deployed on premise three different options . Kindly refer below diagram.

On Premises Deployment

Option 1 : File Share 

The first on-premises option involves usage of a file share:

  • Data preparation and report creation is done in client tools: Power BI Desktop and/or Excel.
  • The completed Power BI Desktop and/or Excel file is published to a file share or a document collaboration area / repository.
  • To view the reports, Excel or Power BI desktop has to be installed on the viewer’s machine

Option 2 : SharePoint

The second on-premises option involves a specialized document library in SharePoint called the Power Pivot Gallery. Due to my limited knowledge, I am not going in details of this option

  • Data preparation and report creation occurs in Excel.
  • The completed Excel file is published to SharePoint within a Power Pivot Gallery.

Option 3: Third Party Integration

The third on-premises option involves a third party which integrates with Power BI.

  • Data preparation and report creation occurs in Power BI Desktop.
  • The completed Power BI Desktop file is published to the third party server

Hybrid Deployment 

Power BI can be deployed in hybrid mode in three different options . Kindly refer below diagram.

Hybrid Deployment

Option 1: Power BI Service

  • Data is either from the on premises corporate applications or it might be born in cloud. It can even mix of these two
  • Data preparation and report creation occurs in Power BI Desktop or excel
  • Completed Power BI reports are then published to Power BI service
  • Report consumption, sharing, security, collaboration, data refresh happens in Power BI service
  • Dashboards are created in Power BI service and reports can also be edited or created in Power BI service

Option 2: Custom Application Integration

  • Data is either from the on premises corporate applications or it might be born in cloud. It can even mix of these two
  • Data preparation and report creation occurs in Power BI Desktop or excel
  • Completed Power BI reports are then published to Power BI service
  • With Power BI API , these reports can be published in custom web application or mobile app  within iFrame
  • If user interacts with this report, he/she will be redirected to Power BI service
  • Application can be on premise or cloud application

Option 3: Public Website 

  • Data is either from the on premises corporate applications or it might be born in cloud. It can even mix of these two
  • Data preparation and report creation occurs in Power BI Desktop
  • Completed Power BI reports are then published to Power BI service
  • An embed code is generated by Power BI service for selected report and this code can be embedded in web page of the website within iFrame
  • Here no security is maintained as its public website, hence suitable for the data which can be made publicly available

Keep reading my blog , I am hoping that you would be able to answer to client’s questions As we move further , you would get more clarity on the Power BI implementations.

If you like my blog please press the like button or share the blog with others.

If you want to me to write on any thing specific or have any questions, please post comments. I would definitely try to answer.

Your feedback is very very important for me.

Continue reading “Power BI : Deployment Models”

Start with First PowerApp

In my previous blog post, I have explained about canvas apps and model driven apps. Let us first see how to build a canvas app in PowerApps.

Development for PowerApps can be done either in web PowerApps studio or desktop PowerApps studio. First step is to create the Environment for the development. You can start with the trial version for free.

Login to the Powerapps.microsoft.com

Let us first create the environment to create our app.

To create the environment follow the steps as shown in following screenshots

Click on the setting icon at the right top of the screen and select Admin center.

Then click on the Create New Environment again at the top right corner.

Enter the details about the new environment and create the new environment.

Create EnvironmentCreate Environment1Create Environment2

Once you create the environment, you can select that environment to start the app development. Make sure that you have chosen the right environment and then start with the application development.

We can develop apps based on various backends such as CDS, Excel, OneDrive, Sharepoint etc  Let us build our first app for some specific requirement in Dynamics 365 CE for the  scenario mentioned below:

A product company, has a call center and sends the service mechanics  to repair existing machines or install new machines at the customer site. They are always on the move and while doing assigned jobs if they find that there is additional work to be done, they should be able to create the case or opportunity on their mobile quickly.

As a first step, select Apps from the left menu as shown in below screenshot and click on create an app button.Create New App1

Powerapps studio would provide you options to select the base data on which you want to create an app. Here since we want to create case or  Opportunity in Dynamics 365, select Dynamics 365 as show in below snip.

Create new App2

Studio would guide you to step by step to connect the D365 instance

Create new App3Create New App4

Once you are connected to D365 CE, you have to select the entity on which you would like to do the operations through the PowerApps app.Create New App5Create New App6

Let us select case entity and see what PowerApps does it for you.

Create New App7Create New App8

Just save the app with appropriate name and even you can select icon for the same.Create New App9

PowerApps would build the complete app for you to view the cases, view the  case details and editing particular case or creating a new case as shown below

Create New App8

Let us see all these screens in details one by one

Browser screen : It is a list screen where you can find all the cases, you can search for specific cases, you can sort the order of the cases. All these functionalities are given by PowerApps automatically and you don’t have to do anything to achieve the same.

Now let us see the components of this screen. Major component is BrowserGallery1. This is the gallery control which can be connected to the the database table Case. You can see the property pane at If you look at the properties of the gallery, Data is the most important property of the gallery which connects to the data. With this property you can change the data source if required. Browsescreen1


With the layout property, you can change the way your data is displayed, even select the columns which should be displayed in the gallery.


When you see the items property of the gallery, you can see below text

SortByColumns(Search(Cases, TextSearchBox1.Text, “description”), “description”, If(SortDescending1, Descending, Ascending))

This function actually works for the sorting and searching functionality.  I would recommend you to go through the all controls present on the screen and try to understand their properties.

Once you understand these properties, you will be able to play with those based on your requirements. These are very intuitive and can be easily learned

If you click on the “>” next to any item in this gallery , that record would open in edit mode in the new screen.  Just check the action defined to achieve this functionality.


Similarly you can see the “+” symbol which would navigate to the new entry page and you can create new case from this screen. Just check the action defined to achieve this functionality.Browsescreen8

Now let us see second screen in this App.

In the second screen, you would understand the usage of data card control of the PowerApps. This screen has DetailForm which consists of various data cards.

The form is bound to the data source and the record which is selected in previous screen.


The datacard is created for each field and fields can be selected from the layout.

Based on the type of the  field, the type of data card is selected, which can be changed later if required. If you want to do any changes in datacard, you must first unlock it and do the changes.


Each Datacard consists of a Value and Key which represents the actual data value and field name correspondingly I would recommend you to look at the various properties of these data cards and understand how intuitive it is to use.

I am hoping you must have understood of the basics of PowerApps app development with this post.

Thanks for reading. In case you have  any questions about the PowerApps, please leave in comments and I would get back to you.

If you like  my blog, please hit the like button or share with others

Continue reading “Start with First PowerApp”