Power BI : Deployment Models

When we propose BI for our clients, a 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

Be 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

Browsescreen3

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

Browsescreen4Browsescreen5

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.

Browsescreen7

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.

Detailedform1Detailedform2Detailedform3Detailedform6

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.

Detailedform4Detailedform5

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”

Microsoft Kaizala Sample Case Studies

We have seen in my earlier posts how we can integrate Kaizala with other business applications. Now let us see where we can actually use Kaizala i.e what would be the  use cases for Kaizala.

Microsoft has published various case studies where Kaizala is either implemented or being piloted. Since the product is originated in India, it shows early adaption in India by Indian customers like YES Bank, Apollo Telemedicine, Republic TV, United Phosphorous Limited and Kendriya Vidyalaya Sangathan etc. In addition to these Indian organisations, Government of Andhra Pradesh is the first Government organisation which has adapted Kaizala for day to day governance.

You can visit Microsoft site for details of these published cases studies to understand the scenarios which are addressed and how Kaizala can help in day to day governance and work management.

Let us take an example of Indian media company and it’s needs to become the top positioned media company.

The biggest challenge in media industry is to get access to real time news and understand how viewers are responding to the  news. It is very important to understand the viewer’s sentiment to make the channel popular.  The speed and the accuracy of the news is very important along with the pulse of the viewer.

Every channel has its resources spread across the locations, then how do you map the resources, how fast the resources can be moved from one location to another. Whether a reporter is enough or entire broadcast van is required, what is the current location etc.

Another need is to collect the feedback from the viewer. Broadcasting the breaking news to subscribed users and involving the viewers in live debates, discussions, executing live polls etc. involvement of citizens to encourage the citizen journalism during disaster news reporting would bring the powerful impact on the Channel’s growth.

For all such needs Microsoft Kaizala comes as a complete solution. Kaizala allows to submit the real time tracking of the resources. Reporters can submit their attendance as many times as required along with the Geo location and a real time selfie as well. Having correct data helps to take correct decisions and impacts on the channel growth.

There is a feature to create a public groups in Kaizala, which can be subscribed by citizens /viewers.  Unlike any other social connectivity App providers, it has no limit on number of users to be added in a group. Various announcements can be sent to viewers. We can have live surveys, or polls during live debates and results can be seen directly live on the Kaizala Management Portal. We can even use PowerBI to view the dashboards. Viewers’ feedback can be collected from this group and analysed.  Citizens can  directly click the photos, videos and upload in case they want to report something. Viewers can directly write to the chief editor if  permitted.

As you would have realized, Kaizala has solution to almost all challenges we discussed in the media industry.

Stay tuned for more information.

Please hit the like button if you like my post and share with others.  Continue reading “Microsoft Kaizala Sample Case Studies”

PowerApps Model Driven/Canvas Apps

PowerApps development can be done using any of the below methodologies

  • Canvas Apps
  • Model Driven Apps

Let us understand both of these methodologies one by one

Canvas Apps

Designer has complete control over app layout in canvas types of apps. We can develop apps to run on SharePoint, PowerBI, Dynamics 365, Common data service for Apps. PowerApps provides various template and sample  data to create apps. We can use these templates for quick understanding of app development, see how the data binding is done, how the UI controls are used and how the application flow is developed. Once we are through with this understanding, we can modify these templates as per business requirements.

PowerApps makes our life easy as we can develop apps automatically from below data sources.

Once the default app is ready, it can be further customized to change the way the data

is displayed, the way it should  be sorted , which data to be displayed etc.

Going further we can even develop apps from scratch and implement the way you think / imagine.

These apps can run in various tabs, desktops and  phones.

The Apps can be  shared with other users and then they can also run these Apps.

Model Driven Apps

Unlike the canvas apps, where designer has complete control over the app layout, Model driven apps layout is completely dependent on the controls you put on the screen.

Model-driven app design provides the following benefits:

  • Rich component-focused no-code design environments
  • Create complex responsive apps with a similar UI across a variety of devices from desktop to mobile
  • Since the UI is based on the Dynamics 365 CE user interface, if you are familiar with Dynamics 365 CE, its very easy for you to develop apps in PowerApps
  • Your app can be distributed as a solution  to required users/enviornments

At a fundamental level, model driven apps consist of three main components as mentioned below

  • Modeling business data
  • Defining business processes
  • Composing the app

Modeling business data

To model business data you determine what data your app will need and how that data will relate to other data. Model-driven design uses a metadata-driven architecture so that designers can customize the application without writing code.

This means you can can create the entity structure which is closely matching with your organisation business. You can create your entities, add relationships, customize the view and even customize the forms to interact with your data.

Defining business processes

Defining and enforcing consistent business processes is a key aspect of model-driven app design. Consistent processes help make sure your app users focus on their work and not on remembering to perform a set of manual steps. Processes can be simple or complex and often change over time.

This helps the users to follow the standard set of process while they are working on any task. The business process can be defined as per business requirements and can consist of one or more entities. You can define multiple business processes on one entity as well

Composing the model-driven app

After modeling data and defining processes, you build your app by selecting and configuring the components you need using the app designer.

Model-driven apps are based on data, UI, logic and visualizations and consist of below components

 

Data UI Logic Visualization
  • Entities,
  • Fields,
  • Relationships,
  • Option sets

 

·         Forms

·         App

·         Sitemap

·         View

  • Business Process Flow
  • Workflow
  • Actions
  • Business Rule
  • Flow

 

  • Chart
  • Dashboard
  • Embedded PowerBI

 

Hope this post helped you to understand two ways to implement PowerApps and you can start creating your apps.

Happy Learning!!

Please click like button if you like my post and mention comments in case you want me to write on something specific or any changes required.

Continue reading “PowerApps Model Driven/Canvas Apps”

PowerApps Case Studies : Its much more than just replacement of Infopath

From Simple spreadshits, timesheets and survey applications there are various use cases which can be built on PowerApps, or  we can say already built and used.  Those are published as PowerApps case studies by Microsoft.

When I started learning PowerApps, I came across the samples of PowerApps only based on SharePoint. Hence the first impression was is it substitute of Infopath. However when I went in depth, raised in various communities, started getting references of PowerApps based on various business applications other than SharePoint as well.

Hence trying to collect various case studies of the PowerApps – published by Microsoft. This would provide a general understanding about PowerApps usage in real scenarios.

  • Manage Car bidding process,  Car auctions
  • inspections reporting App – Heritage sites / ATMs etc
  • Data Collection during large events
  • Business process automation in transportation business
  • Field worker daily activity aggregation and reporting app
  • Medical representatives daily sales management, Reporting, tracking and coaching

Let us go through few scenarios where PowerApps can be applicable.

Scenario#1: Banks have to manage their ATMs spread across the cities/states etc. These ATMs are needed to be monitored and checked on regular basis.

Whenever ATMs get vandalized or damaged, it should be reported immediately and fixed. As a process, Banks schedule inspection audits for all ATMs. PowerApps solution help the inpsctors with a list of ATMs, they can find any specific ATM or find the ATMs near their location. Once located, they can start inspecting it.

During inspection, PowerApps solution provides a standard checklist mentioning various types of inspections such as

  • inspect from outside
  • inspect the signage
  • inspect from inside

Inspectors can fill the checklist and log the issues in case any, found during the inspections. User can even take a picture about the actual issue and mention the notes about the same.

Above functionality is for field inspectors, this data can be saved in SharePoint or any other business application as per the  current application landscape. This data is further analyzed and  Based on the issue types and location, the issue is assigned to the service agent for resolution.

The service agent can see the issues in his app assigned to him,  can locate the ATM , fix the issue, can add notes and close the issue.

If we need any analysis about the issues , we can even use PowerBI and show the analysis on PowerApps. This analysis can help the bank in various ways such as to identify the areas where vandalism is more and take precautionary measures

Scenario#2: Banks have many visitors everyday, their appointments are to be managed.

Everyday bank has customers visiting for various services. Bankers/ Customer care representatives are to be assigned to these customers to address their requirements. This can be accomplished by PowerApps.  PowerApps can be integrated to Dynamics CRM where customer information is stored and as someone visits the bank,  customer case representative can see complete profile of the visitor. List of Bankers would be displayed with available slots and area of specialization.

Based on this information, the appropriate banker can be assigned to the  visitor and both would be informed about the appointment schedule and basic details. Visitor would receive SMS as well about the timing and reminder. Intimation would go to the banker as well. This would help banks to achieve higher  customer satisfaction when they visit to bank.

Various case studies listed above, show that PowerApps can be used in the areas where users are mobile only, moving, the data is to be collected from these users, the data is to be analyzed and maintained in some of the business application such as SharePoint or CRM etc. Again it may not be only PowerApps but it would be combination of PowerApps, PowerBI and Flow.

Microsoft is promoting PowerApps in a big way. For CRM developers, XRM might go away and PowerApps and CDS would be the platform for any customization or any custom verticals to be developed. In case you do not use any of the CRM OOB modules/entities, we might exclude CRM platform and directly go to the Powerapps and CDS platform.

With this post I hope , you got a clear understanding on the PowerApps use cases. Now we can take technical deep dive in the same in my further posts.

Happy Learning!!

Please click like button if you like my post and mention comments in case you want me to write on something specific or any changes required.

Continue reading “PowerApps Case Studies : Its much more than just replacement of Infopath”

Data Binding in PowerApps

Let us see how data binding works in PowerApps. In this blog let us see how to fetch data from various data sources in PowerApps. It’s very intuitive and easy to achieve the same.

PowerApps can connect to various data sources, let us take an example of Dynamics 365 CE. It can connect to Dynamics 365 online directly and for on premise, it can connect to SQL server via Gateway.

We want to create an app for the sales executive to create an opportunity on the mobile. Instead of entering whole lot of  information, he can just enter few mandatory fields and  create the opportunity.

We can achieve the requirement by building a PowerApps which connects to Dynamics 365 CE with below easy steps

  • Create data source for Dynamics 365 connectivity
  • Create UI to view the Opportunities, create new Opportunity and edit existing opportunity
  • Publish the PowerApps to make it available for the users to use

In case you already have data in the opportunity entity, you can create entire app just in few minutes.

Go to PowerApps

Build POwerAppS
Select PowerApps from Office Portal
Start from Data
Click on the start from data

You have to select the data source as Opportunity and click on phone layout. PowerApps will create the entire application in few minutes

This App would consist of  the three screens

  • Browse Screen – List screen to view the existing opportunities
  • Detailed Screen – Details of the single opportunity
  • Edit Screen- To edit  the existing opportunity

Once you look at these screens you would realise that how powerful and helpful PowerApps is.

 

The Browse screen would by default have the search and sorting feature . Along with this , it would have the ability to select any record and go to detailed view of the same. We can click to create new record as well from this screen. Don’t you think it’s really easy to create simple app using PowerApps. We really do not have to worry about the data connectivity, any SQL queries etc 🙂

Edit screen is also used for creating new record and its interesting  to see that PowerApps does everything on its own.

PowerApps decides which fields to be displayed on its own however we can change the fields later. You can just try creating such default app and we can further edit the functionality as we need. We will see in my upcoming blogs.

Thank you very much for reading my blogs and please hit the like button if you think the content is useful and leave comments here. Your comments really mean a lot for me.

Happy making PowerApps which is need of the hour !!!

Continue reading “Data Binding in PowerApps”

Introduction to Microsoft PowerApps

In this blog let us see what is PowerApps, PowerBI and Flow. I will orient you about all these products one by one. All these are excellent products for power users and even for developers, almost no coding is required.

PowerApps is the app development platform, with which we can develop apps compatible with mobile, tab and can also be viewed in desktop or laptop browsers with no additional coding required.

To learn PowerApps like any other technology, you need to understand its UI design, the connectors and its integration capabilities.

Data is the heart of any application and I always prefer to understand the data connectivity first. It’s really easy to do DB operations in PowerApps with readily available connectors. There are two types of connectors used for PowerApps

  • Standard Connectors
  • Custom Connectors

Standard Connectors are the connectors which are supported by PowerApps.  and if you want to connect to your own web service its called custom connector. You have to register your custom connectors before you consume it.  PowerApps can connect to any of existing data you have in the organisation either on premise or on cloud.

The most popular connectors are mentioned below:

  • Common Data Service
  • SharePoint
  • SQL Server
  • Dynamics 365
  • Office 365 Users
  • Office 365 Outlook
  • Excel
  • OneDrive and OneDrive for business
  • DropboxConnectors

In case you need to connect to on premise data sources, PowerApps provides excellent feature of on Premise gateways. We can install on premise gateway and then connect to on premise data base through this gateway. Gateway should be in the same network where your database exists. once you have the gateway ready, you can define the connector to connect to your on premise database using this gateway.

We can go through detailed steps on how to actually create the connectors and connect to data sources in my subsequent blogs