Duration: 4 days
Power BI Developer Bootcamp is an intensive 4-day instructor-led training course with hands-on labs designed to get professional software developers up to speed on developing custom software solutions for the Power BI platform. This course assumes that incoming students already have hands-on experience creating and publishing projects with Power BI Desktop.
This course teaches students how to create custom data connectors using Visual Studio 2017, the Power Query SDK and the M programming language. Students will also learn how to develop custom visuals for Power BI using Typescript, the D3.js library and Microsoft’s recommended toolchain which includes Node.JS, Node Package Manager (npm) and the Power BI visual CLI tool (pbiviz). Along the way, students will learn how to package up a custom visual for testing purposes and for distribution to a production Power BI workspace.
The course also teaches students how to get started with the R data analytics platform and how to leverage R in a Power BI environment. Students will learn fundamental R programming syntax and become comfortable writing and testing R scripts in RStudio. The course also covers how to integrate R scripts into Power BI Desktop projects to import data and to generate charts and graphs using the R script visual. Students will also learn how to develop custom R visuals which make it possible to leverage the visualization power of the R platform while encapsulating the implementation details in a reusable custom visual.
Course Module Detailed Outline
Module 1- Power BI Developer Overview
This module provides a developer-centric overview of the Power BI platform. Students will learn how Power BI has been integrated with Microsoft Azure, Azure Active Directory and Office 365. The module discusses the role of Power BI Desktop and explains how the PBIX project file format provides a foundation for deploying and updating custom solutions. The module explains the ways in which a developer can extend Power BI by developing custom visuals, writing R scripts and programming custom web applications using the Power BI REST API. The module introduces students to the Power BI Embedded service in Microsoft Azure and discusses specific deployment scenarios in which the Power BI Embedded is most useful. The module concludes with a discussion of how to build out a Power BI development environment by installing the required developer tools and by creating a trial tenant in Office 365 to serve as a multiuser test environment for developing and debugging custom software solutions in Power BI.
• Overview of the Power BI Platform
• Understanding the Role of Power BI Desktop
• Developing Custom Visuals
• Integrating R scripts with Power BI
• Developing with the Power BI REST API
• Creating a Development Environment for Power BI
Module 2- Power BI Desktop Primer 1
This module begins with a quick primer covering the fundamental concepts and techniques required to design and publish projects using Power BI Desktop. The module explains how to design queries in a Power BI Desktop project to generate a data model based on a star schema design. The module also examines scenarios where it makes sense to write query logic by hand using the M programming language. The module explains how to create datasets in DirectQuery mode and discusses how this approach differs from working on Power BI Desktop projects with imported datasets. The module concludes by demonstrating how to add query parameters to a Power BI Desktop project and by explaining how to leverage Power BI templates files to design queries, data models and reports that can be reused across multiple projects.
• Designing and Publishing Power BI Desktop Projects
• Working with Queries and Data Sources
• Designing a Data Model with a Star Schema
• Working with the M Programming Language
• Importing Datasets versus using DirectQuery Mode
• Working with Query Parameters and Template Files
Module 3 – Power BI Desktop Primer 2
This module begins with a review of DAX fundamentals and the data modeling features in Power BI Desktop. This module discusses DAX coding conventions and guidelines for writing measures and calculated columns that are more readable and maintainable. The module examines how the evaluation context affects DAX expressions and demonstrates how to create a dynamic calendar table which makes it possible to write measures using the built-in DAX time intelligence functions. The module concludes with an examination of the report designer in Power BI Desktop and a discussion of techniques which can be used to design Power BI reports that provide interactive behavior and drilldown capabilities.
• Reviewing DAX Programming Fundamentals
• Understanding the Evaluation Context
• Creating a Dynamic Calendar Table
• Using DAX Time Intelligence Functions
• Designing Reports using Power BI Desktop
• Creating Interactive Reports with Drilldown Capabilities
Module 4- Programming with TypeScript and the D3 Library
- TypeScript Language Primer
- Getting Started with D3 and SVG Graphics
- Creating Data-driven Visuals
- Enhancing Visuals with Scales and Axes
- Using D3 Layouts
- Event Handling and Transitions
Module 5- Getting Started with the Power BI Developer Tools
This module introduces students to the developer tools and utilities that are used to develop custom visuals for Power BI. The module explains how to set up a development environment for building custom visuals by installing Node.js and a cross-platform toolchain which includes Node Package Manager (npm), TypeScript, the Power BI Custom Visual Tool (PBIVIZ) and Visual Studio Code. Students will learn about the structure of a custom visual project as well as how to start a project locally in the Node.js environment in order to test and debug it inside the Power BI service using the Developer Visual.
- Developing Custom Visuals in Power BI
- Working with Node.JS and the Cross-platform Toolchain
- Creating Projects with the PBIVIZ CLI
- Custom Visual Project Structure
- Adding Typed Definition Files
- Testing and Debugging a Custom Visual
Module 6- Developing and Distributing Custom Visuals
This module focuses on how to design and implement custom visuals for Power BI. Students will learn about the Power BI Visuals API which includes the classes and interfaces that Microsoft has created to assist in the development of custom visuals. The module explains how to define the capabilities and data mappings for a custom visual and how to program D3-style data binding using categorical data from a Power BI dataset. The module demonstrates how to extend a visual with custom properties as well as how to take advantage of utility classes in the Power BI Visuals API such as the SelectionManager class and the TooltipServiceWrapper class. The module also demonstrates how to package a custom visual as a PBIZ file for deployment and students will learn the steps to deploy a custom visual from within a Power BI Desktop project as well as how to deploy a custom visual directly to a Power BI workspace.
- Understanding the Power BI Visuals API
- Defining Visual Capabilities and Data Mappings
- Programming D3-style Data Binding using Categorical Data
- Extending a Visual with Custom Properties
- Working with SelectionManager and TooltipServiceWrapper
- Packaging and Deploying Custom Visuals
Module 7- Developing R Scripts using RStudio
This module begins with an overview of R and explains how R has evolved into the world’s most popular data analytics platform. Students will learn how to get started with R first by installing Microsoft R Open and RStudio and then by writing and testing R scripts using the RStudio IDE. The module includes a primer on the R programming language where students will learn how to program using common R data structures including vectors, matrices, lists, data frames and factors. Students will learn manual and programmatic techniques for installing and managing R packages in a custom solution. The module also introduces students to popular R packages which can be used to import data, to work with large datasets and to generate charts and graphs.
- Overview of R as a Data Analytics Platform
- Installing Microsoft R Open and RStudio
- R Programming Language Primer
- Writing and Testing Scripts in RStudio
- Installing and Managing R Packages
- Using R Packages to Generate Charts and Graphs
Module 8 – Integrating R Scripts into Power BI Desktop
This module examines the three different ways in which a developer can integrate R scripts into a Power BI Desktop project. The module demonstrates how to create a Power BI Desktop query based on an R script which downloads a ZIP archive and extracts data files from inside to create a new dataset. Next, the module explains how to extend a query in Power BI Desktop by adding an R script as an applied step to execute custom R code inside the query pipeline. The module also covers working with R script visuals in a Power BI Desktop report which makes it possible to leverage the R platform’s ability to create advanced charts and graphs. Students will also learn how to design report pages with custom R visuals along with slicers to provide an interactive experience.
- Power BI Desktop Integration with R
- Importing Data using an R Script
- Integrating an R Script as a Query Applied Step
- Extending Reports using the R Script Visual
- Enhancing an R Script Visual with Interactive Filtering
Module 9- Developing Custom R Visuals
While it’s possible to write and debug R code directly inside Power BI Desktop to generate graphs and charts, it often makes sense to encapsulate this type of R code into a R-powered custom visual which can be imported and reused across multiple Power BI Desktop projects. This module examines the architecture of a custom R visual and explains how code inside the R script file is able to render charts and graphs in a Power BI Desktop report. Students will learn how to use the PBIVIZ tool to create a new custom R visual project and to define CRAN package dependencies to install and load the R packages that the custom R visual requires. The module explains how to define the capabilities and data mappings for a custom R visual to structure the dataset that will be passed to the R code inside the custom R visual. Along the way, the module demonstrates how to test and debug a custom R visual as well as how to package it for deployment.
- Architecture of a Custom R-powered Visual
- Defining CRAN Package Dependencies
- Mapping Data Fields to the R Script File
- Developing and Debugging the R Script File
- Packaging and Distributing Custom R Visuals
Module 10- Developing with the Power BI Rest API
- Power BI REST API Overview
- Registering Applications with Azure AD
- Programming Authentication with Azure AD
- Importing PBIX Project Files
- Embedding Reports and Dashboard Tiles
Module 11- Getting Started with Power BI Embedded
This module examines the conceptual model of the Power BI Embedded service in Microsoft Azure and explains its value when designing and implementing commercial web applications that don’t authenticate their users against Azure Active Directory. Students will learn the techniques required to provision and to manage workspace collections and workspaces in the Power BI Embedded service within the scope of an Azure subscription. The module also discusses the difference between provisioning tokens, developer tokens and embedding tokens and explains the scenarios in which each of these token types should be used. The module concludes by demonstrating the basic steps of deploying a custom solution to the Power BI Embedded service which involves importing a PBIX file into a Power BI Embedded workspace and embedding reports into the pages of a custom web application.
• The Power BI Embedded Conceptual Model
• Creating a Workspace Collection in Azure
• Creating and Managing Power BI Embedded Workspaces
• Provisioning Tokens, Developer Tokens & Embedding Tokens
• Importing PBIX Files into a Power BI Embedded Workspace
Module 12-Developing Applications with Power BI Embedded
• Overview of Application Security with Power BI Embedded
• Understanding App Authentication and Embedding Tokens
• Embedding a Power BI Report on a Web Page
This class is offered by a World Education Alliance partner.