Power BI Developer Bootcamp – 4 days USA Online or Classroom

Date/Time
Date(s) - 02/04/2019 - 02/07/2019
8:00 am - 4:00 pm - Central timezone unless otherwise noted.

Location
Tampa, FL


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.

The final day of the course covers how to develop custom applications using the two primary APIs provided by the Power BI platform. Students will learn how to develop applications that authenticate against Azure Active Directory and program against the Power BI Service API. The course also covers how to leverage the new embedding features of Power BI Premium together with the Power BI JavaScript API to embed reports and dashboards in custom applications. Students will learn how to develop custom applications that create streaming datasets and push in rows of data to create a foundation for building real-time dashboards.

Student Prerequisites

Students should have previous experience working with the Power BI service and Power BI Desktop. Students should also have previous experience programming with JavaScript and C# in Visual Studio.

Power BI Developer Overview
Designing Projects with Power BI Desktop
Developing Custom Data Connectors
Programming with TypeScript and the D3.js Library
Getting Started with the Power BI Developer Tools
Developing and Distributing Custom Visuals
Developing R Scripts using RStudio
Integrating R Scripts into Power BI Desktop
Developing Custom R Visuals
Developing with the Power BI Service API
Embedding Power BI Reports and Dashboards
Developing Streaming Datasets and Real-time Dashboards

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.

Topics Covered
• 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.

Topics Covered
• 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.

Topics Covered

• 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

This module begins with primer on programming with TypeScript for developers who already have experience with JavaScript. Students will learn to program client-side web applications using TypeScript in Visual Studio and to program against external JavaScript libraries using typed definition files. The module introduces the D3.js library and explains fundamental D3 programming concepts such as generating SVG graphics, using data binding and enhancing charts with scales and axes. The module also demonstrates how to use advanced D3 features to create layouts, to bind to DOM events and to create visual transitions. Along the way, students will learn how to leverage the D3 library by creating bar charts, line charts, area charts and donut charts.

Topics Covered

  • 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.

Topics Covered

  • 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.

Topics Covered

  • 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.

Topics Covered

  • 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.

Topics Covered

  • 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.

Topics Covered

  • 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

This module introduces students to the Power BI REST API and provides an overview of its scope and functionality. Students will learn how to authenticate users against Azure Active Directory and to acquire and manage access tokens which are required when calling the Power BI REST API. The module demonstrates using the Power BI REST API to automate publishing PBIX files and configuring data source settings dynamically. Students will also learn how to embed Power BI reports and dashboard tiles in a custom web application as well as how to programmatically interact with an embedded report using the Power BI client-side JavaScript API.

Topics Covered

  • Power BI REST API Overview
  • Registering Applications with Azure AD
  • Programming Authentication with Azure AD
  • Importing PBIX Project Files
  • Embedding Reports and Dashboard Tiles
  • Using the Client-side JavaScript API with Embedded Reports

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.

Topics Covered
• 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

This module focuses on the practical aspects of developing commercial applications which leverage the Power BI Embedded service. Student will learn the difference between authenticating and authorizing users as opposed to authenticating the application itself by using an Access Key to acquire and manage embedding tokens. The module explains the browser-based mechanism used to embed Power BI reports which involves creating an iframe configured with a special embedding URL and an embedding token. Along the way, students will be introduced to the Power BI JavaScript API which makes it easier to write to code required to embed reports and to control report filtering and page navigation from the host application.

Topics Covered
• Overview of Application Security with Power BI Embedded
• Understanding App Authentication and Embedding Tokens
• Embedding a Power BI Report on a Web Page
• Getting Started with the Power BI JavaScript API
• Using the Power BI JavaScript API to Control Report Filtering

Click here to download Power BI Developer Bootcamp

World Education Alliance This class is offered by a World Education Alliance partner.


Ticket Type Price Spaces
Classroom registration 1 seat $2,495.00
Online registration 1 seat $2,495.00

Pay offline via wire transfer.