Power BI Developer Bootcamp – Online or In-Person Class – USA, Canada, Americas

Date/Time
Date(s) - 05/22/2017 - 05/25/2017
8:00 am - 4:00 pm - Central timezone unless otherwise noted.

Location
Tampa, FL


Location: On-Line or In-Person in Tampa, Florida

Duration: 4 days

Power BI Developer Bootcamp is an intensive 4-day 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 working with the Power BI platform as well as experience creating and publishing projects with Power BI Desktop.

The course teaches students how to develop custom visuals for Power BI using Typescript and the D3.js library. Students will learn how to develop and debug custom visuals using Microsoft’s recommended development environment which includes the Node.js framework, 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 as well as how R can be integrated with Power BI. Students will learn fundamental R programming syntax and become comfortable writing and testing R scripts in the RStudio IDE. The course also covers how R scripts can be integrated 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 last day of the course focuses on custom development with the Power BI REST API and the Power BI Embedded service in Microsoft Azure. 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 course covers using the Power BI REST API to automate publishing PBIX files and configuring data source settings dynamically. The course also examines leveraging the Power BI Embedded service to provision Power BI workspaces on demand to deploy commercial web applications that don’t authenticate users against Azure Active Directory. Students will also learn how to embed Power BI reports in a commercial web application as well as how to programmatically interact with embedded reports using the Power BI JavaScript API. (Prerequisite course – MS20778 Analyzing Data with Power BI (3 days).

Course Module Detailed Outline

Module 1- Power BI Developer Roadmap

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

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- Advanced Data Modelling using DAX

This course assumes students already have some experience working with DAX and the data modeling features in Power BI Desktop. This module examines DAX at a more advanced level and discusses coding conventions and guidelines for writing DAX expressions for measures and calculated columns that are more readable and maintainable. The module examines the evaluation context for DAX expressions and demonstrates using advanced DAX functions such as CALCULATE and CALCULATETABLE. Students will learn to create a dynamic calendar table using DAX and to leverage the built-in time intelligence functions. The module concludes by demonstrating a common DAX design pattern for creating a data model which tracks a set of actual expenses against a predefined set of expense budgets.

Topics Covered

  • Reviewing DAX Programming Fundamentals
  • Understanding the Evaluation Context
  • Using CALCULATE and CALCULATETABLE
  • Creating a Dynamic Calendar Table
  • Using DAX Time Intelligence Functions
  • Creating a Data Model to Support Budgeting

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- Streaming Datasets and Real-time dashboards.

This module provides an introduction to streaming datasets in Power BI and explains how they differ from imported datasets and DirectQuery datasets. Students will learn how to create a streaming dataset by hand using a data stream from PubNub. The module also explains how the Azure Streaming Analytics service can be used to capture a high-velocity data stream and transform its output into a streaming dataset in a Power BI workspace. The module demonstrates how to write code in a custom application using the Power BI REST API to create a streaming dataset and to add rows of data in real time. The module discusses how to build a real-time dashboard on top of a streaming dataset.

Topics Covered

  • Introduction to Streaming Datasets
  • Creating a Streaming Dataset using PubNub
  • Creating a Streaming Dataset using Azure Streaming Analytics
  • Creating a Streaming Dataset using the Power BI REST API
  • Building a Real-time Dashboard

Module 12-Developing Solutions for 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 users against Azure Active Directory. Students will learn the techniques required to provision and to manage workspace collections and workspaces within the scope of an Azure subscription. The module also explains how to authenticate a custom application using an AppKey and how to pass application-level access tokens when calling to the Power BI REST API. The module explains the steps required to deploy a custom solution with Power BI Embedded which include importing a PBIX file into a workspace and embedding reports into a custom web application.

Topics Covered

  • The Power BI Embedded Conceptual Model
  • Creating a Workspace Collection in Azure
  • Authenticating using an AppKey
  • Creating Power BI Embedded Workspaces
  • Importing PBIX Files into a Workspace
  • Embedding Reports into Commercial Applications

Download syllabus as a PDF. Download PDF

 


This class is fully booked. Please contact sales@mindsharp.com or view our schedule for upcoming dates.