Integrate Business Intelligence into a Web...

78
DEGREE PROJECT IN COMPUTER ENGINEERING, FIRST CYCLE, 15 CREDITS STOCKHOLM, SWEDEN 2019 Integrate Business Intelligence into a Web Application Maria Ravander and Yuchen Che KTH ROYAL INSTITUTE OF TECHNOLOGY ELECTRICAL ENGINEERING AND COMPUTER SCIENCE

Transcript of Integrate Business Intelligence into a Web...

Page 1: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

DEGREE PROJECT IN COMPUTER ENGINEERING,FIRST CYCLE, 15 CREDITSSTOCKHOLM, SWEDEN 2019

IntegrateBusinessIntelligence intoaWebApplication

Maria Ravander and Yuchen Che

KTH ROYAL INSTITUTE OF TECHNOLOGYELECTRICAL ENGINEERING AND COMPUTER SCIENCE

Page 2: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 3: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Abstract

Today, the construction industry handles and analyzes a lot of data manually. Thiscan be a very time-consuming process that could be improved by introducing BusinessIntelligence (BI). BI is a technology that could visualize the current status of a companyautomatically, with the help of Key Performance Indicators (KPIs).

MVP Software is a company that has developed a project management tool,”Projektportalen”, for companies in the construction industry. MVP Software wouldlike to enhance their application with BI functionality.

This thesis researches, through a case study, how BI functionalities could be integratedinto the web application Projektportalen. The case study consisted of interviews andexplorations of Microsoft’s product Power BI.

The final result is a list of desired BI functionalities in Projektportalen. The resultalso consists of a suggested updated architecture of Projektportalen for a Power BIintegration and how an example dashboard could be created. Actual implementationsin source code could be conducted in the future to integrate Power BI. The exampledashboard could also be further developed into a dashboard prototype.

Keywords

Business Intelligence, BI, Microsoft Power BI, construction industry, Dashboard

i

Page 4: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Abstrakt

Bygg- och hantverksbranschen använder idag mycket manuell datahantering ochmanuell analys av data. Detta kan vara en tidskrävande process som skulle kunnaeffektiviseras genom Business Intelligence (BI). BI är en teknologi som automatiskt,med hjälp av nyckeltal, kan visa hur en verksamhet presterar och mår.

MVP Software är ett företag som utvecklat projektverktyget ”Projektportalen”för bygg- och hantverksbranschen. De vill nu utöka Projektportalen med BI-funktionalitet.

Den här rapporten undersöker, genom en fallstudie, hur BI-funktionalitet skulle kunnaintegreras i webbapplikationen Projektportalen. Fallstudien bestod av intervjuer ochenklare testkörningar av Microsofts produkt Power BI.

Resultatet blev i slutändan en lista med önskvärda BI-funktionaliteter för Projekt-portalen. Resultatet består också av ett förslag på en uppdaterad applikations-arkitektur för att möjliggöra integrering av Power BI samt hur en enkel exempel-dashboard skulle kunna skapas. Vidare tekniska undersökningar behöver göras för attta reda på hur applikationens källkod ska utökas för att möjliggöra integrering av PowerBI. Exempel-dashboarden skulle också kunna utvecklas vidare till en mer komplettdashboard-prototyp.

Keywords

Beslutsstödsystem, BI, Business Intelligence, Microsoft Power BI, Dashboard,Byggbransch

ii

Page 5: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Acknowledgement

We would like to express our gratitude to our supervisor at MVP Software, MartinAhlström, who guided and helped us patiently through the whole research. Specialthanks to both our supervisor at KTH, Anders Sjögren, and our examiner, Fadil Galjic,who have given insightful advice and persistent help through this degree project.

iii

Page 6: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Authors

Yuchen Che [email protected] andMaria Ravander [email protected] Programme in Computer EngineeringKTH Royal Institute of Technology

Place for Project

Stockholm, SwedenKistagången 16, Kista

Examiner

Fadil GaljicDivision Of Software And Computer SystemsKTH Royal Institute of Technology

Supervisor

Anders SjögrenDivision Of Software And Computer SystemsKTH Royal Institute of Technology

Page 7: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Contents

1 Introduction 11.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Digitalization in the Construction Industry . . . . . . . . . . . . . . . . . . 1

1.1.2 A Project Management Software . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Ethics, Sustainability, and Benefits . . . . . . . . . . . . . . . . . . . . . 41.7 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.8 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Theoretical Background 72.1 Business Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Key Performance Indicator . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Application Programming Interface . . . . . . . . . . . . . . . . . . . . 82.4 Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5 Microsoft Power BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.5.1 Power BI Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.5.2 Power BI Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.5.3 Possible Ways for Embedding Power BI . . . . . . . . . . . . . . . . . . . 10

2.6 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6.1 Database Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6.2 Relational Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.7 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.7.1 Properties to Consider When Choosing Reporting Tool in the Field of Business

Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.7.2 Service Based Business Intelligence with Power BI in a Web Application . . . . . 15

3 Method 173.1 Research Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1.1 Qualitative and Quantitative Methods . . . . . . . . . . . . . . . . . . . . 17

3.1.2 Inductive and Deductive Methods . . . . . . . . . . . . . . . . . . . . . . 18

3.1.3 Literature Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.4 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.5 Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.6 Exploratory Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.7 Bunge’s Research Process . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.8 Adopted Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Sub-questions to the research question . . . . . . . . . . . . . . . . . . 213.3 Research Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3.1 Break RQ into Sub-questions . . . . . . . . . . . . . . . . . . . . . . . . 22

v

Page 8: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

3.3.2 Literature Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3.3 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3.5 Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4 Project Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4.1 Incremental and Iterative Process . . . . . . . . . . . . . . . . . . . . . . 25

3.4.2 MoSCoW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4.3 Project Management Triangle . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.4 Adopted Project Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.5 Project Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.6 Technical Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.6.1 Microsoft Power BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.6.2 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Enhancing the Current Application 334.1 Functionality of The Current Application . . . . . . . . . . . . . . . . . 334.2 Enhancing the Functionality By Introducing BI . . . . . . . . . . . . . 35

4.2.1 New Possibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.2 End Users’ View of the New BI Functionality . . . . . . . . . . . . . . . . . 35

4.2.3 Desired Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.4 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3 Necessary Features of the Application . . . . . . . . . . . . . . . . . . . 38

5 Updating the Architecture of the Application 415.1 Current Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.2 Updated Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6 Creating and Presenting BI Content 476.1 Supplying Data to Power BI . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.1.1 Establish a Database Connection . . . . . . . . . . . . . . . . . . . . . . 47

6.1.2 Choose Relevant Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.2 Creating a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.3 Creating a Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7 Conclusion 617.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

7.1.1 Revisiting the Research Questions . . . . . . . . . . . . . . . . . . . . . . 61

7.1.2 Validation and Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.1.3 Sustainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647.2.1 Use Azure Analysis Service . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.2.2 Dive Into Code and Test Implementations . . . . . . . . . . . . . . . . . . 64

7.2.3 Dashboard Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.3 Final Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Bibliography 65

vi

Page 9: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 1

Introduction

During the past fifty years, the digital revolution has rapidly changed the world bybringing huge impact and influence to the functioning of society and businesses [6].Digitalization, a component of this ongoing revolution, keeps enabling significantbenefits to businesses. Software is used instead of paper and manual processes, whichenables the automatically collection of data that ”can be mined to better understandprocess performance, cost drivers, and causes of risk.” [30]. For instance, a softwarecould warn the project manager if a project is close to run over budget. In this way,potential problems could be addressed at an early stage and certain measures could betaken.

1.1 Background

1.1.1 Digitalization in the Construction Industry

In the past few decades, owners and constructors have striven to reach a considerableimprovement in the delivery of capital projects, but on the other hand the constructionindustry’s overall performance shows the continued inability to increase productivity,raise performance levels, and reduce project failures.

The global study ”Make it or break it – Global Construction Survey 2017”, from KPMGInternational, focuses on this contradiction. The 201 interviewees are either leadingexecutives within engineering and construction companies, or project owners withinthe same industry. According to this study, half of the construction companies statesthat they are not able to deliver projects on time and within budget in the past 3 years[8].

Figure 1.1.1 and Figure 1.1.2 indicate that the respondents have huge interests and faithsin the potential of the new technologies. More than half of the respondents (55 percent,Figure 1.1.1) believes that the construction industry is ripe for disruption. “95 percentthink technology/innovation will significantly change their business and three-quarters(74 percent) believe such a change will happen in less than 5 years.” [8]. 72 percent

1

Page 10: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

of respondents (Figure 1.1.2) has already included new technology in their plan andanother 22 percent (Figure 1.1.2) will include new technology in the future.

Figure 1.1.1: Response of the question “Is theindustry ripe for disruption?”. Source: Make it, orbreak it, 2017 Global Construction Survey, KPMGInternational [8].

Figure 1.1.2: Result of the question “Is technology,innovation or data prominent in your strategicplan or vision?”. Source: Make it, or break it, 2017Global Construction Survey, KPMG International[8].

A similar trend/situation can be found in Sweden. A report “Digitalization in Swedishcompanies 2018” (“Digitalisering i svenska företag 2018”) by the Swedish Agencyfor Economic and Regional Growth (Tillväxtverket) presents how Swedish companiesand businesses uses digitalization today. It shows that the construction industryhas the lowest digitalization index among all Swedish industries, as shown in Figure1.1.3.

Figure 1.1.3: digitalization indices for different Swedish industries where 10 is the highest index. Source:Business conditions and their reality 2017 (”Företagens villkor och verklighet 2017”), Swedish Agency forEconomic and Regional Growth (Tillväxtverket) [37].

2

Page 11: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

1.1.2 A Project Management Software

This bachelor thesis is the final step in the Degree Program in Computer Engineeringat the Royal Institute of Technology (KTH) Kista and it is performed on behalf of MVPSoftware.

MVP Software is a software company that has developed a project management portal,“Projektportalen”, which is hosted on Microsoft Azure. This portal is designed forcompanies in the construction industry to manage their projects. At the moment,Projektportalen is used by around 250 companies and manages more than 65,000projects.

1.2 Problem

According to the KPMG report, manual data handling and analysis are still veryprominent in the construction industry [8]. The problem is how large quantity ofvaluable anduseful data in the construction industry should be analyzed and interpretedin a meaningful and effective way.

The construction industry needs to solve that problem to “increase productivity, raiseperformance levels and reduce project failures.” [8], which is exactly the goal ofBusiness Intelligence (BI).

MVP Software wants to complement Projektportalen with BI functionality and theywould like to perform an investigation. This investigation has two parts, the first partis about what data are of interests for the construction industry, and the second partis how a BI system could be technically integrated into Projektportalen. In order tocomplete this investigation, two groups are working for MVP Software at the same time.This group focuses on the second part of the investigation and MVP Software is leaningtowards using Microsoft’s product Power BI.

1.3 Problem Statement

The main research question in this project is:

RQ.How to integrate Business Intelligence into a web application?

Note that Projektportalen is a product which is used by companies in the constructionindustry. These companies, MVP software’s customers, will use the embedded BIfunctionality in Projektportalen.

3

Page 12: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

1.4 Purpose

By introducing Business Intelligence, computers and software could be used to conducttedious and difficult tasks of handling and analyzing data. The benefit of integratingBusiness Intelligence into Projektportalen is to make the decision-making processeasier and faster for companies in the construction industry. The decisions themselvescould also be benefited - decisions could be better and smarter since all relevantbusiness information could be taken into consideration. This is useful when theamount of needed business information is overwhelming and thus is impractical or evenunrealistic to be handled manually.

As a result of this complement, MVP Software’s customers could have a time-saving andreliable tool.

1.5 Goal

The goal of this research is to explore how Power BI could be integrated into a webapplication and the effort needed for this integration.

An updated version of Projektportalen’s architecture for a Power BI integration andan example dashboard with a Key Performance Indicator (KPI) from the other group,should be delivered to MVP Software for further development.

1.6 Ethics, Sustainability, and Benefits

To protectMVP software’s rights, all information about the company should be handledcarefully and not be revealed to a third party.

The project is based on existing technology and thus has no large effect on theenvironment.

The result of this thesis may be used as an inspiration and preparation for furtherrelated developments in integrating BI contents into existing web applications. If thisfurther development is made, companies who will use the product and the constructionindustry, could be benefited. These benefits include for instance time-saving, profitgrowth, and increases in size of business.

According to the cooperating research group, KPIs related to sustainability areof interest to some of Projektportalen’s end users and thus has been taken intoconsideration when implementing the example dashboard.

4

Page 13: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

1.7 Delimitations

Since MVP Software is already leaning towards integrating Microsoft Power BI, it is theonly product investigated in this thesis.

This thesis is focused on the construction industry, i.e. all data and requirementsare collected through MVP software and their customers (which are companies in theconstruction industry).

1.8 Outline

Chapter 2 defines the theoretical knowledge used in this project, followed by chapter 3,which describes the methods and the research process that were used. The results arepresented in chapter 4 to 6, where chapter 4 describes how Power BI could enhancethe current version of Projektportalen. Chapter 5 presents the possible updates ofProjektportalen’s architecture. Chapter 6 describes how to create and then presentPower BI content by demonstrating examples. At last, chapter 7 discusses andsummarizes this research.

5

Page 14: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 15: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 2

Theoretical Background

This chapter lists and describes the theoretical background regarding this project.Firstly, this chapter describes the concept BI, followed by the definition of keyperformance indicator (KPI) and application programming interface (API). Secondly,concepts related to Microsoft Power BI and Azure are presented. The third partof this chapter is a brief introduction about databases. At last, related works arepresented.

2.1 Business Intelligence

The earliest knownusage of the ’business intelligence’ term is inRichardMillersDeven’sbook ”Cyclopaedia of Commercial and Business Anecdotes” from 1865 and it was thenused to describe howaperson had positioned himself ahead of competitors by collecting,analyzing and using information to help make sound and sensible business decisions.Since then there has been plenty of different types of definitions of BI but as we knowit today the BI term constitutes of the ”infrastructure, tools, applications and bestpractices that facilitate the access and analysis of information that executives will usebefore taking key operational decisions” [9].

Based on revenue, the five big BI and analytics vendors in 2017 were SAP, Microsoft,Oracle, SAS, IBM [2].

2.2 Key Performance Indicator

Key Performance Indicators (KPIs) are used to measure projects and organizationalperformance by selecting and analyzing relevant business information. For instance,KPIs could keep track of budget and time in a project. KPIs take relevant and sufficientinformation into consideration and provide a clearer picture of the organization’s status.

7

Page 16: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Companies could then make better decisions based on this information and hence helpthe company to move their business forward. [34]

2.3 Application Programming Interface

Application programming interface (API) describes a software. For instance, mostoften, a certain programming library which uses only standard functions in a certainprogramming language. In anAPI, two parts of information is specified: what API coulddo, and how the API should be used.

API enables reusability of code and the possibility of co-operations, for instance betweendifferent software.

2.4 Microsoft Azure

Microsoft defined their product Microsoft Azure as ”an ever-expanding set of cloudservices to help your organization meet your business challenges.” [24]. Azure isdesigned to be ”the freedom to build, manage, and deploy applications on a massive,global network using your favorite tools and frameworks.” [24].

2.5 Microsoft Power BI

Microsoft defined their product Power BI as ”a business analytics solution that lets youvisualize your data and share insights across your organization, or embed them in yourapp or website.” [26]. Power BI could ”connect to hundreds of data sources and bringyour data to life with live dashboards and reports” [26]. Different types of data couldbe visualized in reports and dashboards using Microsoft Power BI. For instance, a KPIthat visualizes percentage of budget spent for a company or a project.

2.5.1 Power BI Desktop

Power BI desktop is a BI tool from Microsoft that is installed locally on a machine toset up reports and dashboard from connected data sources like Azure SQL, Excel andothers. See figure 2.3.1. Reports are created through simple drag and drop so the usersof Power BI do not need any programming skills. [19]

8

Page 17: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 2.5.1: The Power BI Desktop tool. Image borrowed fromMicrosoft’s web page [14].

A report could havemany pages and could be seen as a collection of related charts. BothPowerBIDesktop andPowerBI Service could be used to create reports. A report createdusing one product could also be edited in the other product.

2.5.2 Power BI Service

Power BI Service is an online Power BI tool (figure 2.5.2). Dashboards could only becreated using Power BI Service.

A dashboard is a single-page canvas which consists of tables and/or charts from reports.Either an entire report or specific tables and/or charts in a report could be pinned toa dashboard. Since space on a dashboard is limited, only the most interesting tablesand/or charts should be pinned.

9

Page 18: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 2.5.2: Power BI Service tool. Image borrowed fromMicrosoft’s web page [18]

2.5.3 Possible Ways for Embedding Power BI

Publish to Web

Publish to Web is an easy-to-implement solution. However, this simple solution has itsflaw: it is very limited. Publish to web could only embedding a full report generated byPower BI to any assets, for instance, a website or a web application.

The process is easy to follow, the developer should log in to Power BI Service and browseto a report. Inside of that report click on ”File” and then choose ”publish to web”, asshown in Figure 2.5.3.

Figure 2.5.3: How to generate a link and a code line for publishing the report to the web

This operation will result in a link and an HTML iframe code line, as shown in figure

10

Page 19: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

2.5.4. The link provide a quick access to the report. By opening the link, anyone couldsee the report. HTML iframe code line could be plugged into any target assets (forinstance, a web application). An example of using this HTML iframe code line is shownin figure 2.5.5.

Figure 2.5.4: Generated link and HTML iframe code line

Figure 2.5.5: Example usage of HTML iframe code line

Recall that publish to web is a very limited solution. There are several issues that arehighly recommended to be considered carefully when using this solution.

1. No authentication

Publish to web require no authentication from the end users. This means that allend users have the same authority, i.e. it is impossible to hide the report fromcertain end users.

2. Limitations

There are several limitations when using publish to web. Generally speaking,nothing in or related to the report should require authentication. Since publishto web itself does not require authentication, if the original source of the report orthe report itself need to be authenticated, ”publish to web” is impossible and thusdisabled by Microsoft Power BI Service.

An example of the limitation could be a report using a dataset with row levelsecurity. Row-level security, as indicated in the name, means that each individualrow of a dataset is protected and could only be accessed by certain users throughauthentication. If the original source of a report uses row level security, the

11

Page 20: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

entire report is considered as being indirectly protected and thus is unreachableby unauthorized users.

For more details about limitations, please visit Microsoft’s website [21].

Power BI REST API for Users With Power BI Account

Unlike publish to web, this solution requires authentication. When the assets (forinstance, a website, an application) runs, an authentication window will pop up. Endusers must sign in with the specific organization account (for instance, [email protected]) toaccess reports. This organization account could be either a ordinary or a guest useraccount provided by the organization. However, by using this solution, it would beimpossible for end users without organization account to access reports. An user whohas successfully logged in is considered as having the authority to access the report.Reports are therefore protected through authentication.

This solution is also limited. The (ordinary or guest) organization account must”authenticated with their own Power BI account credentials” [17].

Preparations are needed when using this solution, this is described later in ”Azure andPower BI Preparations”.

Power BI Embedded for Users With andWithout Power BI Account

Power BI Embedded requires neither organization account nor Power BI account forthe end users. In fact, the user does not even need to know that the product Power BIis used. The difference between this solution and the first solution, publish to web, isthat the reports are protected. Recall that in publish to web, the link is published to thewhole world as long as the report exists. While in this solution, reports are private to acertain group of users decided by the developer.

Preparations are needed when using this solution, this is described below.

Azure and Power BI Preparations

Three steps need to be done to fulfill three requirements before the actualimplementation. As shown in figure 2.5.6, the last two steps and correspondingrequirements have only one way to conduct, the first step introduces two differentpossible ways. In other words, depends on the choice made in the first step, thereare two different variants of the Power BI REST API solution and Power BI Embeddedsolution.

12

Page 21: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 2.5.6: Preparation steps

Approach 1: Using Power BI Pro Account

Power BI Pro, also called master account, requires an username and password forauthentication. The developer therefore has no choice but includingmatched usernameand password in the code. Power BI Pro could be tested using a 30-day free trail.

Approach 2: Using Service Principal

Unlike the first solution, service principal does not require username and password forauthentication. This is its primary advantage compare with master account. Whilemaster account needs to authenticate into the application, service principal requiresapplication ID and application secrete to authenticate this specific application.

2.6 Databases

2.6.1 Database Overview

A database is a collection of related data stored electronically in a computer system anda software named database management system (DBMS) [35]. The data are organizedin a way so that it should be easy to search for information that are of interest. To

13

Page 22: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

communicate with the database the DBMS is used, which can interact with otherapplications and end users. There are several types of database models, for examplerecord-based data models and object-based data models. This report will cover therelational database, which is a type of record-based data model.

2.6.2 Relational Database

The relational databasemodel is built up of tables (relations) and relationships betweenthis tables [35]. Each table has a unique name and consists of a number of columns.Each column is defined as a specific type, for example number, string (characters) ordate and is often in a certain length/size. This is called the columns domain.

Each row in a table represents an object and each column represent attributes for thisobject. Each row in a tablemust somehowbe unique so that the objects can be separatedfrom each other, this is done through primary keys which is one or several columns thatneeds to contain unique data in contrast to the other rows. The relationship betweenthe tables can be defined by the primary keys.

To link table A to table B, table A needs a foreign key that refers to the primary key intable B. The range of the primary key in table B is the range of the foreign key in tableA. Figure 2.6.1 is an example of a relational database.

Note that the tables are only a way for us, humans, to understand the relational data, inthe hardware the data are not actually stored in tables. To get data out of a relationaldatabase a query language is often used, like SQL.

14

Page 23: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 2.6.1: Example of two tables, Branch and Staff, in a relational database showing the relationshipthrough a primary and foreign key. Image borrowed from the book Database Systems [35].

2.7 RelatedWork

This section lists related works that are of interest for this thesis.

2.7.1 Properties to Consider When Choosing Reporting Toolin the Field of Business Intelligence

In the report ”Properties to consider when choosing reporting tool in the fieldof Business Intelligence” (”Egenskaper att betrakta vid val av rapportverktyg inomBusiness Intelligence”) [10] the writers, AdamMartell andMichael Myrman performedan research with interviews and analyses to list requirements to take into considerationwhen choosing a BI System.

2.7.2 Service Based Business Intelligence with Power BI in aWeb Application

The report ”Service based Business Intelligence with Power BI in an web application”(”Tjänstebaserad Business Intelligence med Power BI i en webbapplikation”) [31] bySigrid Österling Sicking and Vidar Hegna Tengstål shows how to technically integratePower BI into a web application. Code examples are also shown.

15

Page 24: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

The research topic in both that and this degree project is the same. Both reports explorehow to integrate Power BI into an existing web application. The difference between thetwo reports is that this report focuses on the steps before an actual implementation,while ”Service based Business Intelligence with Power BI in a web application” focuseson the technical implementation, which could be seen as the step after this report.

16

Page 25: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 3

Method

This chapter describes the different methods used to conduct this project. Thechapter starts with introducing research methods and research processes, followed bya presentation of the research sub-questions. Project methods and project processesare also introduced. The last section in this chapter describes the technical methods forperforming this project.

3.1 Research Method

This section defines research methods and Bunge’s research process used to answer theresearch question. The reasons for choosing certain research methods and processesare also presented. Last but not least, an overview of adopted research methods ispresented.

3.1.1 Qualitative and Quantitative Methods

There are two basic categories of researchmethods, namely quantitative and qualitative[3], which apply onprojects that are numerical or non-numerical respectively. Choosinga method will have influence on the character of the study.

In a quantitative method [3], variables are measured in order to falsify or confirmtheories and hypotheses. Vague terms are not accepted, but instead all variables needto be quantifiable. Quantitative research depend on large sets of data and statisticalanalysis for testing a hypothesis.

In contrast, the qualitative method ”concerns understanding meanings, opinions andbehaviors to reach tentative hypotheses and theories...” [3]. Qualitative data collectionmethods can consist of interviews, observation and document analysis, i.e, readingpublications, reports, etc. In this sense, it relies much more on interpretation of the

17

Page 26: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

researcher and the research itself can be difficult to replicate, since the data collectedduring the study might variate. [13]

3.1.2 Inductive and Deductive Methods

There are two alternative research methods, inductive and deductive.

An Inductive research approach aims to create meanings to the data collected. Throughobservations and recognizing patterns in the collected data, a theory can be generated.This inductive reasoning is usually used when there is no existing hypothesis availableto explain a phenomenon. In this sense it can be seen as a bottom-up approach, sincea theory or image of a subject is being built through observations and conclusions.[12]

A Deductive research method is concerned with developing a hypothesis from a theoryand then design a research strategy to test this theory. Through testing and observationsthe hypothesis can be either confirmed or falsified. [11]

3.1.3 Literature Study

A literature study will be performed as soon as the research question is determined. Asa result of the literature study, a clearer view of how the research question could beanswered is gained. Since neither the BI concept nor the Microsoft Power BI productare new, related work will be searched as a part of the literature study. The literaturestudy could also help to avoid common risks and typical mistakes.

The literature study could be performed as many times as needed during the project toanswer unpredictable questions that might arise.

Reliable sources was the most important and basic foundation in this degree project.Therefore, the choice of information source was selected carefully. The websites andsearch engines used in this degree project were Google Scholar, KTHLibrary, KTHDiva,KTH Primo, as well as official documentations on Microsoft’s website.

3.1.4 Case Study

There are many different definitions and approaches to case studies, but their commongoal is that they are used to gain an understanding of an issue in a real life setting inorder to answer questions like ”how”, ”why” and/or ”what”. As this type of research canbe used to explore a variety of topics and purposes, a big part of such a study is to defineand bound the case effectively, such as selecting parameters like participants, location,process and time frame. [4]

18

Page 27: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

3.1.5 Interview

Interviews could be categorized into three types depending on the level of structure, i.e.structured, unstructured, or semi-unstructured. No matter which type of interview isperformed, the aim is always to give an deep understanding of a problem and captureparticipants’ point of view [3].

When conducting a structured interview, the interviewer usually follows a list ofquestions that are decided before the interview. In other words, the structure is fixedand will not be changed no matter what the interviewee responses [28].

Unstructured interview could be considered as a complete opposite of structuredinterview. In an unstructured interview, only the topic is fixed. The interviewerand interviewee discuss freely about this specific topic. Unlike structured interviewwhere the interviewer has full control of the direction of interview, in an unstructuredinterview, both the interviewer and the interviewee could control the direction of theinterview [27].

The third type of interview is a combination of the first two types and is called semi-structured interview. As its name suggested, a semi-structured interview usually hasboth a clear structure and flexibility. The interviewer has a list of questions that isprepared before, but will also adjust the interview based on interviewees responses[28].

3.1.6 Exploratory Study

An exploratory study usually consists of collecting, analyzing, and interpreting theobservations about a specific topic [36]. The aim of an exploratory study is to gain abetter understanding of that specific topic.

3.1.7 Bunge’s Research Process

In order to perform a scientific research, this project follows a scientific methoddescribed by Bunge M. [1]. Bunge’s scientific method is also referenced by a researchpaper ”Science - evaluation of three implemented projects in the construction industry2002” (”Vetenskaplighet – Utvärdering av tre implementeringsprojekt inom IT Byggoch Fastighet 2002”) written by Andersson and Ekholm p. 17 [29]. Since the paperis also a research within the construction industry which utilized Bunge’s scientificmethod, the paper felt like an appropriate source of advice when choosing a scientificmethod for this research.

Definition of the scientific method according to Bunge M. [1] is quoted below.

1. ”Identify a problem, (whether gap or indentation) in some body of knowledge-ifpossible an important bit of ignorance. If the problem is not stated clearly, go to

19

Page 28: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

the next step, otherwise to the subsequent one.”

2. ”State the problem clearly, if possible in mathematical terms or in terms ofmeasurement operations.”

3. ”Search for information, methods or instruments, likely to be relevant to theproblem-e.g. empirical data, theories, methods ofmeasurement or computation,measuring instruments, etc. I.e. scan what is known to see whether it can helpsolve the problem.”

4. ”Try to solve the problemwith the help of themeans collected in the previous step.Should this attempt fail, go to the next step; if not, to the subsequent one.”

5. ”Invent new ideas (hypotheses, theories, or techniques), produce new empiricaldata, or design new artifacts.”

6. ”Obtain a solution (exact or approximate) of the problem with the help of theavailable conceptual or material means.”

7. ”Derive the consequences of the solution thus obtained. If the solution candidateis a hypothesis or a theory, compute predictions; if new data, examine the effectthey may have on existing ideas; if new artifacts, assess their possible uses andmisuses.”

8. ”Check the solution. If the solution candidate is a hypothesis or a theory, see howits predictions fare; if new data. try to replicate them using alternative means;if new techniques or new artifacts, see how they work in practice. If the outcomeis unsatisfactory, go to the next step, otherwise to the subsequent one.”

9. ”Correct the defective solution by going over the entire procedure or usingalternative assumptions or methods.”

10. ”Examine the impact of the solution on the body of antecedent knowledge andstate some of the new problems it gives rise to.”

3.1.8 Adopted Methods

Information to answer the main research question RQ is mostly in the form of text,for instance reading documentations from Microsoft website and interviewing MVPSoftware. No numerical data is needed. Therefore, a qualitative research method waschosen.

A prior hypothesis does not exist, rather, a hypothesis is formed during this thesis. Theaim of RQ was to explore, thus an inductive approach was adopted.

This thesis focused on Microsoft Power BI and how it could be embedded intoProjektportalen. In other words, Power BI is the case to be studied. Therefore, a case

20

Page 29: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

study was the most suitable research strategy to use in this thesis.

Semi-structured interview is conducted with MVP Software in this degree project. Thisis because the semi-structured interview combines structure and flexibility. It is thususeful to gain better understanding about a topic or field where the interviewer isunfamiliar with, while the interviewee is an expert in.

Exploratory study is also used in this degree project to explore the answers to sub-questions and thus answer the main research question RQ.

To explore themain research question RQ, the Bunge’s research process was adapted. Abenefit of Bunge’s research process is that it is a scientific researchmethod so the resultsof this thesis are reasonable and have a solid theoretical background. The researchprocess in this project is inspired by Bunge’s research process. Certain changes aremade to suit this project better.

3.2 Sub-questions to the research question

In order to be specific about what needed to be done to answer RQ How to integrateBusiness Intelligence into a web application?, more concrete sub-questions werederived. These three sub-questions are shown below:

SQ1. How can a web application be enhanced by adding Microsoft Power BI toit?

SQ2. Which architecture updates of a web application are needed when addingMicrosoft Power BI to it?

SQ3. How canBI contents be created and presented usingMicrosoft Power BI?

3.3 Research Process

The research process is presented below in figure 3.3.1. The process has five steps: breakRQ into sub-questions, literature study, case study, evaluation, and result. Each step inthe research process is described in more detail in the following sub-sections.

21

Page 30: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 3.3.1: Outline of the research process

3.3.1 Break RQ into Sub-questions

In the first step of the research process, RQ was divided into three sub-questions asstated in section ”3.2 Sub-questions to the research question”. By researching andanswering these sub-questions, the main research question RQ was answered.

3.3.2 Literature Study

A literature study is the second step of the research process. This step has two sub-steps,as shown in figure 3.3.2. It starts with searching sources, each and every source thenhas to be reviewed to check if they are suitable to use. A suitable source has to be bothreliable and related to the topic. Since the next step ”Case study” relies on informationgathered in this step, if sources are not suitable and/or sufficient, new sources need tobe found before continuing to the next step.

Information related to the sub-questions should be collected in this step.

Figure 3.3.2: Sub-steps in literature study

22

Page 31: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Information gathered are listed below:

1. Sources about Business Intelligence

2. Related Work

3. Official documentation, guides, and videos about Microsoft Power BI. Thisincludes both Power BI Desktop and Service.

4. Official documentation, guides, and videos about Microsoft Azure

5. Sources about databases

3.3.3 Case Study

A case study is the third step in the research process. The aim of this step was, withinformation gathered in the former step ”Literature study”, to explore and answer thesub-questions.

Since it is hard to predict which information is needed in this step, it is possible thatinformation gathered in the former step is not sufficient. Therefore, the former stepmight be revisited. As long as more information is needed when conducting the ”Casestudy”, more sources have to be found and reviewed. There is no limit on how manytimes the ”Literature study” could be done.

In order to answer sub-questions, an interview and exploratory study are conducted inthis case study.

1. Interview

• The Sub-question SQ1

There are three parts of information needed to answer SQ1 that arecollected by an interview. The first part is the current end users’ view ofProjektportalen, i.e. how Projektportalen is used. The second part is togather MVP Software’s requirements on the desired BI functionality, i.e.what new functionalities should be enabled by introducing BI. The third andlast part focuses on necessary features for this integration, i.e. what otherrequirements MVP Software has.

• The Sub-question SQ2

Information regarding Projektportalen’s current architecture are gathered.

2. Exploratory Study

• The Sub-question SQ1

To answer SQ1, exploration must be conducted to understand information

23

Page 32: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

gathered in the interview. The main component of this exploration is toexplore Microsoft Power BI Desktop and Service.

• The Sub-question SQ2

Exploration to answer SQ2 is a little bit more complicated. In order to gaina better understanding, the layers in Projektportalen’s current architectureand the components in those layers needs to be explored. Once theunderstanding of the current architecture is obtained, exploration couldthen continue to reach the answer of this sub-question, i.e. a suggestionof how Projektportalen’s architecture should be updated to integrate BIfunctionality.

• The Sub-question SQ3

Only exploratory study is conducted in order to answer SQ3. Tutorials,guidelines, videos, etc. are studied to explore how to create and presentPower BI content.

3.3.4 Evaluation

In this step, results of the case study, i.e. answers to the sub-questions, were evaluatedand analyzed. If answers to one or more sub-questions were insufficient, the formerstep ”Case study” should be extended with new activities.

3.3.5 Result

This step answered RQ based on the answers of the sub-questions. The results,which are a list of necessary functions and features for the BI integration, an updatedarchitecture, and an example dashboard, are then evaluated, discussed, and deliveredto MVP Software.

3.4 Project Method

A successful project has to: be completed within time frame, hold the budget, and meetthe vital requirements in the final delivery. To conduct such a project, the project needsto be managed. This could be done with the help of the project management triangle,which is used to set the time, budget and scope constraints of the project; MoSCoW,which is used to set the priority level of requirements; and an incremental and iterativeprocess, which is used to make sure that the final delivery is acceptable, i.e. at least allvital requirements are met.

This section defines the project management triangle, MoSCoW, and incremental anditerative process. Adopted project methods in this project are then presented.

24

Page 33: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

3.4.1 Incremental and Iterative Process

Incremental and iterative processes often work well together as one single projectplanning and scheduling strategy.

In incremental development, the initial version of an application or product is evolvedthrough several versions (increments) and ”each version adding functionality to theprevious version” [33]. The common activities in each version are specification,development, and validation. These activities are usually not separated, rather, theyare interleaved, as shown in figure 3.4.1.

Figure 3.4.1: Incremental development [33]

In iterative development, the increments are completed in iterations and are planed ina descending order of requirements’ priorities, i.e. the increments which correspondto the most important requirements have highest priority and are scheduled first. Byapplying iterative development, when delivering the final product, at least all vitalrequirements in a project should be met. Iterative development also provides a chanceto backtrack and correct problems in earlier versions.

3.4.2 MoSCoW

MoSCow, according to “A Guide to the Business Analysis Body of Knowledge (2 ed.).International Institute of Business Analysis. 2009” [7], is a tool to prioritize therequirements in a project. The requirements can be divided into four groups dependingon their critical and payback level. The groups are described below:

– Must

Critical requirements that have to be fulfilled in the limited time to deliver asuccessful project. No matter how many requirements in this category are failed,

25

Page 34: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

even if there is only one, the project delivery is considered as a failure.

– Should

Requirements in this category are as critical as requirements in “Must” category.But requirements here are not necessary to be included in this delivery of projectin the time limit. However, requirements here must be fulfilled eventually, i.e.requirements could be fulfilled later.

– Could

Requirements in this category are desirable but less critical. It could be nice tohave them but “Could” requirements could be compromised. These requirementsare only fulfilled when resources and time allow.

– Won’t

This category, as described in the book “A Guide to the Business Analysis Bodyof Knowledge (2 ed.). International Institute of Business Analysis”[2], “havebeen agreed by stakeholders as the least-critical, lowest-payback items, or notappropriate at that time.” Therefore, requirements in this category will not befulfilled, neither in the time limit, nor later.

3.4.3 Project Management Triangle

The project management triangle is used to illustrate the priorities in a project orcommitment. The tool is presented in Sven Eklund’s book “Arbeta i projekt -individen,gruppen, ledaren” [1]. According to Eklund, the corners in the triangle represents thefundamental and dependent characteristics in a commitment which is: time, cost andfunctionality.

It is important that all the corners should not be fixed in the same project. A freecorner implies that changes in this characteristic is acceptable. This enables someflexibility in a project. Because unpredictable obstacles or circumstances could occurin a project, extra resources will be needed to fix these problems. These extra resourcesare extracted from the free corner(s). For instance, in the case that cost and scope arenon-negotiable, while time frame is free and thedevelopers are stuckwith implementinga key functionality, the delivery time of the project could be postponed. Therefore, atleast one corner should be opened.

In order to manage a project in an optimal way, there must be room for flexibility, i.e.the project management must have the ability and possibility to adopt unpredictablechanges and problems.

26

Page 35: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 3.4.2: The project management triangle

3.4.4 Adopted Project Methods

This section presents adopted versions of three project methods: incremental anditerative process, MoSCoW, and project management triangle.

3.4.3.1 Incremental and Iterative process

This project combines incremental and iterative processes to plan and schedule theproject. The main research question RQ is divided into three sub-questions orincrements which will be researched in three iterations. These iterations are scheduledbased on the adopted version of MoSCoW in this project, as presented in ”3.4.3.2MoSCoW”.

3.4.3.2 MoSCoW

• Must

– The suggestion of an updated architecture of Projektportalen for integratingBI must be delivered to MVP Software.

– Implement one KPI based on the other research group’s research in a reportand then add this report in an example dashboard.

– Final academic report and presentation must be accomplished.

• Should

– N/A

27

Page 36: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

• Could

– Implement several KPIs based on the other groups research in a reports andadd this reports in the dashboard prototype.

• Won’t

– Complete dashboard will not be implemented.

– The actual implementation of embedding Power BI into Projektportalen willnot be conducted.

3.4.3.3 Project Management Triangle

The project management triangle, as shown in figure 3.4.2, was used in this project tosymbolize the possible constraints.

As defined in ”3.4.3.2 MoSCoW”, the scope of this project is open. The prototypeimplementation is not a strict requirement for successfully performing this project. Itis the research question that has the highest priority.

The only constraint in this project is time - research must be accomplished within thetime limit. As for budget, there is no funding in this project.

Note that the example dashboard will be implemented by the cooperation between twogroups, which means both groups must accomplish their research respectively beforethe dashboard implementation. It was preferred that both groups lie in the same phasethrough the project. The group that lies behind could choose to catch up by workingovertime. The planning of time is flexible but the total number of working hours, 400hours per student, is a fixed factor.

3.5 Project Process

The outline of the project process is shown in figure 3.5.1. There are four phases in thisproject: startup phase, research phase, discussion phase, and ending phase. All fourphases lie in ”Must” group in MoSCoW. The green action boxes represent academicparts of this thesis and the blue action boxes represent interactions with MVP Software.In the side note of each phase, the corresponding Bunge steps and MoSCoW group arepresented.

28

Page 37: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 3.5.1: Outline of the project process

29

Page 38: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 3.5.2 below shows how the blocks in figure 3.5.1 above correspond to steps inBunge’s research process.

Figure 3.5.2: Combine blocks in project phases with Bunge’s research process

3.6 Technical Methods

In order to plan and then perform this project, several technical methods are used.These technical methods could be divided into two categories: Microsoft Power BI andmodelling. They are described below.

3.6.1 Microsoft Power BI

There are two products in Microsoft Power BI: Power BI Service and Power BI Desktop.The former product is an online tool, while the latter product runs locally on aterminal, for instance a computer. The difference between these two products is thefunctionalities, for instance, Power BI Desktop cannot create dashboards, only PowerBI Service has this functionality.

30

Page 39: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

3.6.2 Modelling

In order to manage the project in a structured way and to gain a general picture aboutProjektportalen, several models are created. These models are created by Astah andApple pages.

31

Page 40: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 41: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 4

Enhancing the CurrentApplication

This chapter aims to explore and answer the first research sub-question:

SQ1. How can a web application be enhanced by adding Microsoft Power BI to it?

First, the current status of the web application Projektportalen is presented anddescribed. Desired new BI-functionalities in Projektportalen are then listed anddiscussed. Next, necessary features of the application are discussed from MVP’s pointof view.

4.1 Functionality of The Current Application

This section presents the current end users’ view of Projektportalen and how it is usedby the end users. Projektportalen is developed by MVP Software and the end users arecompanies in the construction industry.

The main purpose of this application is to provide a project management tool for theend users. For instance, with the help of Projektportalen, end users could report dataand related activities, and thus keep track of their projects. [32]

After logging in, the user will see a start page. The start page, as shown in figure 4.1.1,is the view of a test user. The navigation bar lies to the left-hand side. By clickingon the corresponding icons, the user could experience different functions providedby Projektportalen, for instance, checking messages. The main part of the start pageconsists of several blocks, which describes the company from different perspectives. Ifthe user is interested in a specific project, he or she could click on that project’s nameshowed in the area ”PROJEKTSTATUS” (the middle block in figure 4.1.1).

33

Page 42: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

After clicking on the project, a project page will be displayed, as shown in figure 4.1.2.More detailed information about this project could be found on this page. There aretwo navigation bars on this page, one is placed at the top, and the other is placed to theleft. The top navigation bar could be used to navigate to more information about thisproject, while the left navigation bar could be used to explore more functions providedby Projektportalen.

Figure 4.1.1: Home page shown after a test user has logged in at Projektportalen

Figure 4.1.2: A sample project overview in Projektportalen

34

Page 43: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

4.2 Enhancing the Functionality By Introducing BI

New possibilities that could be introduced into Projektportalen by adding BIfunctionality are described from different perspectives in this section. The first sub-section introduces what the new possibilities are and the reason for introducing BI.The second sub-section presents a user story about how the end users could makeuse of the new BI functionality. The third sub-section describes the details of thenew functionality, which are Projektportalen’s requirements of the BI integration. Thelast sub-section presents how BI could be used by the end users from a technicalperspective.

4.2.1 New Possibilities

Reports and dashboards could be created by using a company’s data with MicrosoftPower BI. Introducing BI into the web application Projektportalen basically meansembedding reports and dashboards directly into Projektportalen. Two new possibilitiescould be gained by this BI integration. The first is that the end users of Projektportalencould easily check out a dashboard, which visualizes an overview of their business andprojects, by clicking on one single button. The second is that BI enables the end usersto dive into certain charts on the dashboard to get access to more detailed reportsregarding those charts. By clicking on a desired chart a more detailed report will showup from where the chart originally belonged.

The reason for introducing BI into Projektportalen is to make the decision-makingprocesses faster for their customers and hopefully to let them make smarter decisions,as described in ”Chapter 1. Introduction”.

4.2.2 End Users’ View of the New BI Functionality

A user story diagram is shown in figure 4.2.1. This diagram illustrates MVP’s desiredflow from an end user’s point of view after Projektportalen has been integrated withPower BI content. Projektportalen has other functions, but they are not related to BI,and thus are not concerned in this user story diagram.

A new icon for the dashboard should be implemented in the navigation bar at the left-hand side of the window shown in figure 4.1.1, from where the users can reach thedashboard.

35

Page 44: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 4.2.1: A user story diagram for how an end user should be able to reach the dashboard and reportsin Projektportalen

Both the dashboard and the reports are generated by Power BI. The dashboard is acanvas with limited one-page space, which should only contain the most importantinformation from each report. Reports could simply be considered as a group of chartswhich visualize interesting data. Both entire reports and/or chosen charts could bepinned to a dashboard.

4.2.3 Desired Functionality

Three functionalities desired by Projektportalen regarding the BI integration aredescribed in detail below.

• Charts on dashboard could be clicked to show the original report where thatspecific chart comes from.

The end user should be able to dive into a chart on the dashboard that is of extra interest.The corresponding report should be displayed when the end users clicks on a specificchart.

• Do not open a newwindowwhen displaying a report from a dashboard, updatethe dashboard page instead.

When the enduser clicks on a chart on the dashboard, the original reportwhere the chartcomes from should not be displayed in a new window, rather, the current dashboardpage should be updated to a report page. From the technical point of view, to saveresponse time, it would be better if the whole page does not need to be reloaded toupdate the web page.

• It should be possible to have more than one data source.

Projektportalen has many end users, and thus the amount of data that needs to behandled is large. For security reasons, it might be better to have several smaller datasources. For instance, an end user with sensitive data could have its own data source.Therefore, Projektportalen would like to be able to connect more than one data sourceto the BI product.

36

Page 45: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

4.2.4 Use Case Diagram

A use case diagram for a general end user to view the dashboard in Projektportalenis shown in figure 4.2.2. By creating this diagram, a better understanding about theintegration from a technical perspective was gained and the relationships betweendifferent relevant parts were clarified.

Figure 4.2.2: Use case diagram for a general user to view dashboard with Projektportalen’s data onProjektportalen

There are several types of general end users of Projektportalen, the three types (tinsmith,installation, and heat, pump and refrigeration industry) that is shown here are justexamples. In the future, MVP Software would like to tailor dashboards for differentbranches in the construction industry, so that each branch can see a tailored dashboardwith specific KPIs that suits that branch.

The general end user requests to view the dashboard in Projektportalen, andProjektportalen passes this request further to Power BI, who is responsible for creatingthe dashboard and the reports. When creating reports, Power BI issues calls toProjektportalen’s SQL database hosted on Azure SQL. Power BI creates reports by usingthe returned data. Finally, a dashboard is created based on those reports and is returnedto Projektportalen. At this point, the dashboard is ready to be viewed by an enduserwhorequested the dashboard.

It is also important to note that the boxes ”Projektportalen”, ”Power BI”, and ”AzureSQL” lie in the outermost box ”Azure Portal”. This indicates that all three services arehosted on Azure portal.

37

Page 46: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

4.3 Necessary Features of the Application

Apart from the desired functionalities described above, MVP Software also has somedesired features for this BI integration, which are listed and explained below.

• The end user do not need to download, install or get a license to some externalproduct.

An embedded solution is wanted to provide a better user experience. The end userscould then be benefited from the BI product without too much extra effort.

Before reaching the decision of using an embedded solution, MVP Software had alsoconsidered creating their own BI solution. But implementing something from scratchwould bemore time consuming and requiremore knowledge. It would not be as flexibleand easy to change as an existing product, for instance, if at some point MVP Softwarewanted a new chart or report it would require implementing new code and a simplechart might take an hour to write, while creating the same chart in Power BI wouldtake around 20 seconds. It should simply be just drag and drop. If only a few simplecharts are of interest that probably would be enough for a long time of period and if thedevelopers have some related experience, then it might be worthy to implement the BIcontent from scratch.

• The solution should be compatible with Microsoft Azure.

The current version of Projektportalen is hosted on Microsoft Azure. To makethe embedding process smoother and easier without worrying too much aboutcompatibility, a product that is compatible with Microsoft Azure is wanted.

Although MVP Software decided to use Microsoft Power BI at last, they had alsoconsidered other products, for instance Tableau and QlikView. The conclusion isthat there were no big differences that concerned them so the best solution still wasMicrosoft’s product, since it had the benefit of ease to embed. All the leadingBI productstoday can do basic things as filtering, sorting, collect data from several sources, andexporting results to for example Excel, which was of interest for MVP Software.

There is however products that are even easier to use than Power BI, but they weremoreexpensive and Power BI seemed easy enough. Some products also had nicer and moregood-looking graphics, but the graphics in Power BI would do just fine. It would not beworthy to have the extra work to embed a better looking product, and it is a matter oftaste what graphics is the most likable.

• The design of Projektportalen should be responsive.

Since the end users might use the BI function in Projektportalen on different terminals,for instance, PCs and tablets, this BI function should have responsive design.

• Reports and dashboards should be created and updated easily and quickly.

38

Page 47: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

MVP Software believes that, the end users’ interests of what data should be visualizedin reports and dashboards will change from time to time. Therefore, it must be possibleto update reports and dashboards easily and quickly to follow these changes.

39

Page 48: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 49: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 5

Updating the Architecture ofthe Application

This chapter aims to answer the second research sub-question:

SQ2. Which architecture updates of a web application are needed when addingMicrosoft Power BI to it?

Both the current architecture of Projektportalen and an updated architecture for aPower BI integration are presented and explained in this chapter.

5.1 Current Architecture

The current architecture of Projektportalen is shown in figure 5.1.1 which contains thetarget groups of end users and three architecture layers. This document helped togain a technical overview of the current application, which was a preparation for a BIintegration.

41

Page 50: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

iOS (Xamarin)

Android (Xamarin)

Project Manager CFO

Sales & Finance & HR CustomerCraftsmen

Web Layer (HTML, Angular JS, Azure Web App)

Service Layer (Azure App Service)

Mobile API Web API API Management

Domain

Repository

JS Report

Main Database (Azure SQL)

Storage Layer

Generic Storage e.g. pictures (Azure BLOB Storage)

Presentation Layer

Azure Search

Other services

Figure 5.1.1: Current Architecture of Projektportalen

End Users

The topmost level represents the end users of Projektportalen. They are craftsmen,project managers, CFOs, sales managers, finance managers, HR managers, andcustomers.

Presentation Layer

The craftsmen use Projektportalen through a smartphone interface, while all the otherend users interact through a web interface.

The smartphone interface is developed for both Android and iOS through Xamarin.Xamarin is a tool in Visual Studio where the code is written in C# and then translatedto fit different mobile operating systems. The developers only need to write thesmartphone code once for both platforms and any changes only need to be updatedat one place. [23]

42

Page 51: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

The web interface is written in HTML, CSS, and AngularJS, which is then published asa Web App hosted on Azure.

Service Layer

Projektportalen’s service layer is hosted by Azure App Service. This layer is the backendof mobile and web applications. There are three sub-layers in the service layer.

1. The topmost layer

The topmost sub-layer consists of Mobile API, Web API, and API Management.Mobile API is the connection between the backend and the frontend of themobile version of the application. Similar to the Mobile API, the Web API isthe connection between the backend and the frontend of the web version of theapplication. APIManagement is anAPI that is written byMVPSoftware and couldbe used by their customers in their own applications [15].

2. The middle layer

The middle layer of the service layer is a domain, which contains business logic.Azure Search and JS Report could be called when needed.

Azure Search is a cloud solution for searching contents in web, mobile, andenterprise applications [25].

JSReport is a tool for generating reports. It is ”innovative and unlimited reportingbased on JavaScript templating engines”. Projektportalen uses this for generatingfor instance invoices [20].

3. The last layer

The last layer of the service layer is repository, which is responsible for theconnection between the backend and the databases.

Storage Layer

The last layer in the current architecture of Projektportalen is the storage layer. Thestorage layer consists of two components: main database and generic storage.

Themain database is hosted on Azure SQL Server. Information in form of text, number,date etc. are stored here.

The generic storage uses Azure BLOB Storage. Information stored there could be forinstance pictures.

43

Page 52: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

5.2 Updated Architecture

The updated architecture is shown in figure 5.2.1 and illustrates how Projektportalencould be updated to integrate Power BI. The main difference between the two versionsis that there is a new Business Intelligence layer in this version. Business Intelligencelayer is added between the Service layer and the Storage layer and is used only for PowerBI content (reports and dashboards).

iOS (Xamarin)

Android (Xamarin)

Project Manager CFO

Sales & Finance & HR CustomerCraftsmen

Web Layer (HTML, Angular JS, Azure Web App)

Service Layer (Azure App Service)

Mobile API Web API API Management

Domain

Repository

JS Report

Main Database (Azure SQL)

Storage Layer

Business Intelligence Layer

Microsoft Power BI ҁMicrosoft Power BI Desktop and Service)

Generic Storage e.g. pictures (Azure BLOB Storage)

Presentation Layer

Azure Search

Other services

Azure Analysis Services

Figure 5.2.1: Architecture of Projektportalen after BI integration

Other functionalities that doesn’t require help from Power BI and already existed in

44

Page 53: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Projektportalen will work as they used to. In other words, although the new layer isadded, the Repository sub-layer in the Service layer could still interact directly with theStorage layer. The connection between the Service layer and the Storage layer does notnecessarily have to go through the Business Intelligence layer. The sub-layer MicrosoftPower BI consists of two tools, Power BI Service and Power BI Desktop. Power BIService is an online tool, while Power BI Desktop runs locally on a terminal. When aPower BI account is created, access will be gained for both products.

When Power BI content is needed, i.e. when end users requests to see the dashboardand/or reports, the Business Intelligence layer is used. The Business Intelligence layerhas two sub-layers: Microsoft Power BI and Azure Analysis Services.

The sub-layer Repository in the Service layer first issues calls to the sub-layer MicrosoftPower BI and requests reports and/or dashboards. Power BI then requests data neededto create these reports and dashboards. The requests are sent to the second sub-layer,Azure Analysis Services. Azure Analysis Services is a Microsoft Azure service that canbe used to create another, normally simpler view of a database, i.e. a selection of datain the database [16].

Although similar actions could also be done in PowerBIDesktop, it is still recommendedto use Azure Analysis Services because it has a cache, which can speed up queries andthus probably improve the response time. However, note that it is optional to use AzureAnalysis Services.

Nomatter if Azure Analysis Services is used, the requests from the sub-layer Repositorywill finally become a query to themain database in the Storage layer, who is responsiblefor storing the data.

When the requested data is returned, Power BI creates the reports and dashboards.When completed, these reports and dashboards are then returned to the sub-layerRepository in Service layer. At last, the end users could see what they requested.

45

Page 54: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 55: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 6

Creating and Presenting BIContent

This chapter aims to answer SQ3,How can BI contents be created and presented usingMicrosoft Power BI?. According to the architecture shown in figure 5.2.1, Power BIneeds a connection to the database. Therefore, the first section in this chapter describeshow data could be supplied to Power BI. The second and third section present how areport and a dashboard could be created respectively.

6.1 Supplying Data to Power BI

This section starts with presenting how the connection between Power BI andProjektportalen’s database was established. The second section describes an exampleof how relevant data could be chosen. The reason for selecting relevant data is that theamount of data in the database is large, which could lead to long processing time. Butfortunately, not all of the data are needed to create the BI content. In other words, bychoosing only relevant data, the processing time could be decreased. Thus, to selectrelevant data is also important.

Recall that Azure Analysis Services is optional. In this thesis, due to time limit, AzureAnalysis Services is not used. Power BI is connected directly with Projektportalen’sdatabase.

6.1.1 Establish a Database Connection

The first step when establishing a database connection is to click on ”Get Data” inthe top navigation bar in Power BI Desktop, as shown in figure 6.1.1. A dropdownlist shows different types of data sources that could be connected to Power BI. Since

47

Page 56: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Projektportalen uses an SQL database, in this case, an SQL server was chosen.

Figure 6.1.1: Choosing type of data source to be connected to Power BI

After clicking on ”SQL Server”, a window popped up, as shown in figure 6.1.2. In thispop-up window, the name of the SQL database server could be specified. The nameof the database is however optional. There are two alternatives in ”Data ConnectionMode”: Import and DirectQuery.

Import means that a local copy of the entire database or selected tables from thedatabase will be downloaded. A limitation for import is that it is not possible fordatabases or tables that are larger than 1GB. To reachnewdata that has been added sincethe download, the ”Refresh” button in the top navigation bar should be clicked.

DirectQuery, in the contrast, will never download the database or tables. Rather, ”Asyou create or interact with a visualization, Power BI Desktop queries the underlyingdata source, which means you’re always viewing current data.” [22]. But direct queryalso has limitations. For instance, reports created with a DirectQuery connection to adata source might have problem with response time. For more detailed information,please check Microsoft’s documentation [22].

48

Page 57: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.1.2: Entering a SQL server to connect to with an ”Import” connection

In order to proceed, authentication is required in a new window (this is not shown inany figure). After authentication, the next step is to choose a database, as well as specifictables. After selecting at least one table, Power BI offers help to make the selection oftables a bit easier. There is a button bellow the list of tables, ”select related tables”, asshown in figure 6.1.3, that can be clicked to let Power BI check all related tables to thosetables that has already been chosen.

Figure 6.1.3: Choosing relevant tables

When database and/or tables have been chosen and are ready to use, all tables and

49

Page 58: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

relationships between them are displayed in a relational database diagram, as shown infigure 6.1.4. This could be seen by clicking on the last icon on the left-hand side (themodel icon).

Figure 6.1.4: The relational database diagram for all downloaded tables

6.1.2 Choose Relevant Data

What data are relevant depends on which information the user would like to obtain.In other words, relevant data in one case does not necessary have to be relevant datain another case. The example that is shown below illustrates only how data could bechosen. What data really are relevant is a complicated question and is not covered inthis thesis.

To choose relevant data, the first step is to click on the ”Edit Queries” button in the topnavigation bar, as shown in figure 6.1.5.

50

Page 59: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.1.5: Edit Queries

After clicking on ”Edit Queries”, a window will pop-up, as shown in figure 6.1.6. Alltables are listed on the panel to the left. The second step is to choose the tablethat contains the relevant data, right click and choose ”Reference” to create a copy ofthat table. In this case, it is table ”Employee” that was chosen to demonstrate thisexample.

The reason for creating a copy is because in this case, only part of the data in the tableis relevant for the BI functionality. The copied version is used to form a re-structuredtable which only contains relevant data without disturb the original table.

Figure 6.1.6: Create a copy of the original table

51

Page 60: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

In order to keep only relevant data, columns that are not needed in this example couldbe removed. This is done by first marking the columns that are not of interest and thenright click and choose ”Remove columns”, as shown in figure 6.1.7.

Figure 6.1.7: Remove columns

In some cases, there might be some columns that are useful but are redundant to bekept as several columns. Instead, it would be better to combine them into one column.For instance, as shown in figure 6.1.8, information in the two columns ”FirstName” and”LastName” are needed, but there is no need to keep them separate, rather, they couldbe merged into one column ”FullName”. This is done by first marking the columns tobe combined, right click, and choose ”Merge Columns”.

Figure 6.1.8: Combine columns

52

Page 61: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Sometimes, not all data in a column is needed. It is possible that only data that fulfillsa certain condition is needed. Microsoft Power BI provides also filtering to keep onlycertain data in a column. This could be done by first clicking on the downside arrowbeside the target column name. A list will drop down and filters could be applied, asshown in figure 6.1.9.

Figure 6.1.9: Filters

Another useful feature in Microsoft Power BI Desktop when reforming tables is thatit is possible to choose columns in related tables. For instance, in figure 6.1.10,the icon beside columns ”Client”, ”EmployeeCost”, and ”EmployeeGroup” are not anormal downside arrow as the one beside ”ClientId”. This special icon implies thatthis table ”Employee” has relations with the tables ”Client”, ”EmployeeCost”, and”EmployeeGroup”. If only one or some columns are needed, there is no need to keepthe whole relation, rather, only those needed columns could be chosen.

53

Page 62: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.1.10: Choose columns in related tables

The last step in choosing relevant data is to save the changes. This is done by clickingon the ”Close & Apply” in the top left corner as shown in figure 6.1.11.

Figure 6.1.11: Close & Apply and applied steps

All applied steps, i.e. all steps that have been performed to choose the relevant data,could be seen in the panel to the right. It is also possible to delete or edit certain stepsif they are no longer suitable. This is also shown in figure 6.1.11.

54

Page 63: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

6.2 Creating a Report

Employee absence is an identified sustainability KPI for some of Projektportalen’scustomers and was chosen to be visualized in a report and a dashboard. The creation ofthis report is presented in this section, while the creation of the dashboard is presentedin the next section.

Although employee table was restructured above, it turned out that the employee tablewas not actually needed for this KPI. The reason for demonstrating how to chooserelevant data using the employee table is that this table contains many columns andthus provide a chance to showmany different table reformation functionalities of PowerBI.

Before starting to create this report, some small reformations were alsomade to neededtables. This process is similar, but less complicated, compare with ”6.1.2 Chooserelevant data”. The aim of these reformation is to make the report creation processeasier and smoother.

In this example, a report was created using Power BI Desktop. Columns needed wereselected, as shown in the ”Fields” pane to the right in figure 6.2.1. A clustered columnchart was suitable in this case, but other types of charts are also possible to use. Thiscould be done by selecting different icons on the topmost part of the ”Visualizations”pane, as shown in the figure.

Figure 6.2.1: Create employee absence charts using Power BI Desktop

Two clustered column charts were created in this example report. The one at the topshows the employee absence of one specific company over a year. The one at the bottomshows the employee absence of one specific company over three years. The top one is afiltered version of the bottom one.

55

Page 64: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

After the report was created, it should be published to Power BI Service for dashboardcreation. This was performed by clicking on the ”Publish” button in the top navigationbar shown in figure 6.2.2. Note that a dashboard can not be created in Power BIDesktop.

Figure 6.2.2: Publish the report from Power BI Desktop to Power BI Service

After clicking on ”Publish”, a window will pop up and a workspace on Power BI Servicemust be chosen. The report will then be published to the specified workspace. Newworkspaces could be created on Power BI Service, but the default ”My Workspace” waschosen here.

Figure 6.2.3 presents ”My Workspace” in Power BI Service after the report has beenpublished to it. The name of the report is shown in the red area to the left. Reports canbe edited here and in this example the title of the report was added. This was conductedby clicking on the ”Text Box ” button marked in red in the top navigation bar.

56

Page 65: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.2.3: Edit the report to add title

6.3 Creating a Dashboard

As a final step in this exploration, an example dashboard to show the employee absenceKPI was created. The dashboard creation process is described in this section.

Recall that both an entire report and/or some charts from reports can be pinnedto dashboard. In this example, the top clustered column chart was pinned to thedashboard, while the button chart was left in the report. To pin a chart to a dashboard,the chart should be marked and the paper pin icon (in the red circle) should be clickedas seen in figure 6.3.1.

57

Page 66: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.3.1: Pin one chart in a report to a dashboard

After the paper pin iconwas clicked, awindowpopped up and the destination dashboardcould be chosen or created, as shown in figure 6.3.2.

Figure 6.3.2: Specify which dashboard the selected chart should be pinned to

Figure 6.3.3 shows the new dashboard with the chart that was pinned to it. Whenhovering over a column, detailed information is displayed.

58

Page 67: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.3.3: Hovering over a column in a chart on dashboard to get more detailed information

If an end user would like to know more about this chart, he or she could click on thatchart and the entire report will be displayed, as shown in 6.3.4.

Figure 6.3.4: Enable drill down

In order to drill down in a chart, the downside arrow, marked in red, should be clickedand enabled, as shown in figure 6.3.4. For instance, in this example, when drill-downis enabled, the end user could check employee absence for a whole year monthly, byclicking on a specific column in a certain year, as in figure 6.3.5, or even for each dayin a selected month as in figure 6.3.6. Again when hovering over columns detailedinformation will be shown.

59

Page 68: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Figure 6.3.5: Drill down to each month in a year

Figure 6.3.6: Drill down to each day in a month

60

Page 69: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Chapter 7

Conclusion

This chapter evaluates and summarizes this project by presenting a discussion. Futurework are then presented as a suggestion of how this research could be continued. Thischapter ends with some final words.

7.1 Discussion

This project is evaluated in this section from different perspectives. The aim of thisevaluation is to double-check if the research question is answered, if the project issuccessful, andwhat experience the writers gained fromperforming the research.

7.1.1 Revisiting the Research Questions

SQ1. How can aweb application be enhanced by addingMicrosoft Power BIto it?

The result is a list of desired functionalities and features which could enhanceProjektportalen by introducing Power BI. In order to answer SQ1, an interviewand exploratory study were conducted as described in Chapter 4. Both methods,the interview and the exploratory study, suited the research of SQ1 well. Theinterview gave a basic understanding of Projektportalen’s current status and MVPSoftware’s intention of integratingBI, thus provided a general direction for this research.Exploratory study, on the other hand, followed the direction and dug in to examine, forinstance, how a connection between Power BI and Projektportalen’s database should beestablished.

61

Page 70: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

SQ2. Which architecture updates of a web application are needed whenadding Microsoft Power BI to it?

The result is a suggestion of how Projektportalen’s architecture could be updated tointegrate Power BI.

The methods used to answer SQ2 were exactly the same as those in SQ1. Theinterview was useful for understanding Projektportalen’s current architecture, and theexploratory study was performed to reach a suggestion of the updated architecture.Since BI was a completely new area for both writers, different components of botharchitectures were also explored.

SQ3. How can BI contents be created and presented usingMicrosoft PowerBI?

The result is a demonstration for how to create an example dashboard. This includeshow to establish a database connection to Power BI, how to create an example reportwith charts, and finally, how to pin that report into a dashboard.

Unlike SQ1 and SQ2, only exploratory studywas used for SQ3. Thismethodwas suitablein this case because thewriters had no prior knowledge in this area. The research of SQ3itself was quite practical and consisted of testing the product Microsoft Power BI, i.e. toexplore how to create BI content using Power BI Desktop and Service.

RQ. How to integrate Business Intelligence into a web application?

The main research question is very broad, while the sub-questions are quite concrete.By answering the sub-questions, the main research question was answered in a higherlevel without an actual implementation. The result is thus a hypothesis and suggestion,the test implementations are left as a future work.

7.1.2 Validation and Reliability

The Research Process

The research process used in this project was inspired by Bunge’s research processes, asdescribed in ”3.1.5 Bunge’s research process”. But due to time limit, Bunge’s last steps(steps 8 - 10), ”Check the solution”, ”Correct the defective solution”, and ”Examine theimpact of the solution”, are not conducted, which lead to an incomplete research process.These steps, which validates and further evaluates the results obtained in this project,are left to future work.

62

Page 71: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Limited View

This project is conducted on behalf of the company MVP Software, which meansthat this research focuses only on MVP Software’s point of view. Experiments withMicrosoft Power BI are all conducted with MVP Software’s data. Only MVP Software’sarchitecture were taken into consideration when creating the updated version of thearchitecture for a BI integration.

Another limitation of this project is that only Microsoft Power BI was researched. Thisis because MVP Software is leaning towards using Power BI. But there are also other BIproducts, for instance, Tableau and QlikView.

Difficulties to Handle The Data

The amount of data in Projektportalen’s database is large and the data is not structuredin an ideal way to work directly with Power BI. In other words, to use Power BI withProjektportalen’s database, a certain part of the database, including the tables andrelations between tables, needs to be restructured.

As a consequence, the writers found it hard to understand the structure of the database,use the database, and work in Power BI. Although Power BI is designed to be easy to usewith simple drag and drop, it was still hard to create Power BI contents, such as reportsand dashboards, due to the reasons mentioned above.

Another problem encountered when creating the example dashboard. Desired KPIs [5]usually require data in several different tables. Since the database restructure is notcompleted and the relations between tables are not clear, it was very hard to show thoseKPIs on the example dashboard. Although employee absence KPI was not one of themost desirable KPIs, it was chosen to be visualized in the example dashboard since itrequires only data from two tables.

7.1.3 Sustainability

As discussed in ”1.6 Ethics, Sustainability, and Benefits”, KPIs related to sustainabilityshould be taken into consideration when creating the example dashboard. But datain Projektportalen’s database are not sufficient for visualizing the most desirablesustainability KPIs, the employee absence KPI was chosen to be visualized. Theemployee absence KPI visualizes the sustainability from employees perspective andthe employer could gain knowledge about their employees physical and mental health.For instance, a high level of absence due to sickness could imply that the employeesare not happy at work or that the working environment might not be optimal andsatisfying.

63

Page 72: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

7.2 FutureWork

As described in ”3.4.2 Project Management Triangle”, time is a fixed factor in thisproject. Due to the limit of time, some other interesting questions to be investigatedare left to future work. They are described below.

7.2.1 Use Azure Analysis Service

The first part of future work is to add Azure Analysis Service into the application. Asmentioned in ”5.2 Updated architecture”, Azure Analysis Service has a cache whichcould speed up queries and thus reduce response time.

7.2.2 Dive Into Code and Test Implementations

This research focuses on the pre-study of how to integrate BI into a web application.The technical part of this integration, i.e. how the code should look like, is also a veryinteresting topic to be researched.

After diving into the code, a better understanding of integration from a technicalperspective could be gained. Several test implementations on differentweb applicationscould be performed as validations.

7.2.3 Dashboard Prototype

When the restructure of certain parts of database are completed, the example dashboardcould be further extended into a dashboard prototype to visualize more KPIs.

7.3 Final Words

Although there are several parts of future work that could be performed to furtherextend the research question in this project, this project is successful since all tasks inthe ”Must” group, as defined in ”3.4.3.2 MoSCoW”, were completed.

In this last part of the bachelor study, not only the academic knowledge, but also theproject experience were gained. The cooperation between two members in this group,between two research groups, between research groups andMVPSoftware, andbetweenthis group and the supervisor and the examiner, were effective and helpful.

64

Page 73: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

Bibliography

[1] Bunge, Mario. Epistemology andMethodology I: Exploring the World, Vol. 5 ofTreatise on Basic Philosophy. From page 253. D. Reidel, 1983.

[2] Gartner.Market Share Analysis: Analytics and BI Software, Worldwide, 2017.https : / / www . gartner . com / doc / 3885977 / market - share - analysis -analytics-bi. (Visited on 03/29/2019).

[3] Håkansson, Anne. Portal of ResearchMethods andMethodologies for ResearchProjects and Degree Projects. Department of Software and Computer Systems,The Royal Institute of Technology, KTH, Kista, Sweden, 2013.

[4] Harrison, Helena et al. “Case Study Research: Foundations and MethodologicalOrientations”. In: Forum: Qualitative Social Research (2017). ISSN: 14385627.DOI: 10.17169/fqs-18.1.2655. URL: http://dx.doi.org/10.17169/fqs-18.1.2655.

[5] Hedin, Nathalie and Zander, Adrian.Using KPIs in decision-making tools in theconstruction industry. KTH Royal Institute Of Technology, 2019.

[6] Hodson, Richard. “Digital revolution”. In:Nature - The International Journal ofScience (2018). ISSN: 1476-4687. DOI: 10.1038/d41586-018-07500-z. URL:https://www.nature.com/articles/d41586-018-07500-z.

[7] International Institute of Business Analysis. A Guide to the Business AnalysisBody of Knowledge® (BABOK® Guide) page 102. International Institute ofBusiness Analysis, 2009.

[8] International, KPMG.Make It, or Break It - Global Construction Survey 2017).https : / / assets . kpmg / content / dam / kpmg / xx / pdf / 2017 / 10 / global -construction-survey-make-it-or-break-it.pdf. (Visited on 03/25/2019).

[9] Lago, Cristina. 150 years of Business Intelligence: A brief history. https : / /www.cio.com/article/3290407/history-of-business-intelligence.html.(Visited on 03/28/2019).

[10] Martell, Adam and Myrman, Michael. Properties to consider when choosingreporting tool in the field of Business Intelligence. Högskolan Dalarna, 2011.

[11] Methodology, Research. Deductive Approach (Deductive Reasoning). https://research- methodology.net/research- methodology/research- approach/deductive-approach-2/. (Visited on 03/25/2019).

[12] Methodology, Research. Inductive Approach (Inductive Reasoning). https://research- methodology.net/research- methodology/research- approach/inductive-approach-2/. (Visited on 03/25/2019).

65

Page 74: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

[13] Methodology, Research. Qualitative Data Collection Methods. https : / /research - methodology . net / research - methods / qualitative - research/.(Visited on 03/25/2019).

[14] Microsoft. Announcing Power BI general availability coming July 24th. https://powerbi.microsoft.com/en- us/blog/announcing- power- bi- general-availability-coming-july-24th/. (Visited on 04/12/2019).

[15] Microsoft. Azure API Management Overview. https://azure.microsoft.com/sv- se/resources/videos/azure- api- management- overview/. (Visited on05/28/2019).

[16] Microsoft. Creating your first data model in Azure Analysis Services. https :/ / azure . microsoft . com / es - es / blog / first - azure - as / ?fbclid =IwAR10EESSkaoX1mmhqS0fgsPkn4ejgteQUoGkcnFn5MfR2ueqgpAoZud6nY0.(Visited on 05/28/2019).

[17] Microsoft. Embed analytics for your organization’s Power BI users. https :/ / powerbi . microsoft . com / en - us / developers / embedded - analytics /organization/. (Visited on 05/07/2019).

[18] Microsoft. Getting started with Power BI Desktop. https://docs.microsoft.com/en-us/power-bi/desktop-getting-started. (Visited on 06/05/2019).

[19] Microsoft. Go from data to insight to action with Power BI Desktop. https://powerbi.microsoft.com/en-us/desktop/. (Visited on 04/12/2019).

[20] Microsoft. JS ReportWebsite. https://jsreport.net. (Visited on 05/28/2019).[21] Microsoft. Publish to web from Power BI. https://docs.microsoft.com/en-

us/power-bi/service-publish-to-web. (Visited on 05/07/2019).[22] Microsoft. Use DirectQuery in Power BI Desktop. https://docs.microsoft.

com / en - us / power - bi / desktop - use - directquery ? fbclid = IwAR2E -RVWnywMzSKiIWghct6Eafa _ taJkPH8Y - gw6Kqm3 _ amk71vd6LV07KE. (Visited on05/21/2019).

[23] Microsoft. Visual Studio Tools for Xamarin. https : / / visualstudio .microsoft.com/xamarin/. (Visited on 05/08/2019).

[24] Microsoft.What is Azure? https://azure.microsoft.com/en-us/overview/what-is-azure/. (Visited on 04/03/2019).

[25] Microsoft.What isAzure Search? https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search. (Visited on 05/28/2019).

[26] Microsoft.What is Power BI? https://powerbi.microsoft.com/en-us/what-is-power-bi/. (Visited on 04/03/2019).

[27] Miles, Jeremy and Gilbert, Paul. A Handbook of Research Methods for ClinicalandHealth Psychology. Oxford University Press, 2005. ISBN: 978-0-19-852756-5.

[28] Nationalencyklopedin. intervjuundersökning. https : / / www . ne . se /uppslagsverk / encyklopedi / lång / intervjuundersökning. (Visited on06/12/2019).

[29] Niclas Andersson, Anders Ekholm. Vetenskaplighet – Utvärdering av treimplementeringsprojekt inom IT Bygg och Fastighet 2002. Institutionen förByggande och Arkitektur, 2002.

[30] Parviainen, Päivi et al. “Tackling the digitalization challenge: how to benefit fromdigitalization in practice”. In: International Journal of Information Systems andProject Management (2017). ISSN: 2182-7788. DOI: 10.12821/ijispm050104.URL: http://www.sciencesphere.org/ijispm/archive/ijispm-050104.pdf.

66

Page 75: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

[31] Sicking, Sigrid Österling and Tengstål, Vidar Hegna. Tjänstbaserad BusinessIntelligence med Power BI i en webbapplikation. Karlstads Universitet, 2018.

[32] Software, MVP. Projektportalen’s website. http : / / projektportalen . com/.(Visited on 05/07/2019).

[33] Sommerville, Ian. Software Engineering, Ninth Edition. Peason, 2009.

[34] The KPI Working Group. KPI Report for The Minister for Construction. https:/ / assets . publishing . service . gov . uk / government / uploads / system /uploads/attachment_data/file/16323/file16441.pdf. 2000. (Visited on04/02/2019).

[35] Thomas Connolly, Carolyn Begg. Database Systems, A Practical Approach toDesign, Implementation, and Management. Pearson Education Limited, 2015.

[36] Thomas W.Edgar, David O.Manz. Research Methods for Cyber Security. ToddGreen, 2017. ISBN: 978-0-12-805349-2.

[37] Tillväxtverket.Digitalisering i svenska företag 2018. https://tillvaxtverket.se/download/18.52115277163fd07bad97d32f/1529564356265/Temarapport_Digitalisering.pdf. (Visited on 03/25/2019).

67

Page 76: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 77: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were
Page 78: Integrate Business Intelligence into a Web Applicationkth.diva-portal.org/smash/get/diva2:1333493/FULLTEXT01.pdfBased on revenue, the five big BI and analytics vendors in 2017 were

TRITA-EECS-EX-2019:202

www.kth.se