Power BI Developer Certification Bootcamp

Audience:Developer
Duration:4.00 day(s)

Price: £1,900.00
Accommodation: £440 (UK Midlands only)

About this course

Power BI Developer Certification 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 Power BI. This course assumes that students already have experience with Power BI Desktop and the Power BI Service and are looking for ways to move beyond what’s possible with just Power BI Desktop alone.

Meet your trainer

Choose a date

Delivery Date Delivery Type Delivery Location  
December 17, 2018OnlineUSA Region
Book now

All Combined Knowledge courses can be delivered privately online or at a site of your choice.
Contact us to arrange private delivery of a course or to find out more.

Book a private delivery of this course

There are currently no dates scheduled for this course, but all of our courses can be delivered privately at a site of your choice.

Our private on-site / online training can provide your business with the following benefits:

  • Substantial savings on travel and expense costs
  • Group learning – ensuring a consistent transfer of knowledge
  • Open discussions focused on specific business requirements
  • Ability to ‘cherry pick’ modules and tailor course content to your specific needs.
  • Multiple delivery and set-up methods

Contact us to arrange private delivery of a course or to find out more.

Course Syllabus

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 Power BI. This course assumes that students already have experience with Power BI Desktop and the Power BI Service and are looking for ways to move beyond what’s possible with just Power BI Desktop alone.

The course examines essential developer extensibility points in the Power BI platform for importing data, creating visualizations and integrating reports and dashboards into custom applications. Students will learn to program in M and to develop custom data connectors with reusable query logic that can be shared across Power BI Desktop projects. The course teaches students how to develop custom visuals using Typescript, Node.JS and Visual Studio Code. Students will also learn how to program using the Power BI Service API to automate common task such as uploading PBIX files and patching datasource credentials.

The course provides in-depth coverage of Power BI embedding features and teaches students how to embed reports and dashboards when developing custom applications. Students will learn to build real-time dashboard solutions using streaming datasets and push datasets. The course concludes by teaching students how to leverage the support in Power BI for the R data analytics platform by writing R scripts for Power BI Desktop and by developing R custom visuals.

Course Prerequisites

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


Module List

  1. Power BI Desktop Primer
  2. Designing Advanced Queries using M
  3. Developing Custom Data Connectors
  4. Programming with TypeScript and the D3 Library
  5. Getting Started with the Power BI Developer Tools
  6. Developing and Distributing Custom Visuals
  7. Programming the Power BI Service API
  8. Developing with Power BI Embedded
  9. Securing Datasets using Row Level Security
  10. Developing Streaming Datasets and Real-time Dashboards
  11. Getting Started with R in Power BI
  12. Developing Custom R Visuals

 

Module 1: Power BI Desktop Primer

This module begins with a fast-paced primer on building reporting and data analysis projects using Power BI Desktop. The module reviews the phases of building Power BI Desktop projects including designing queries, building data models and designing reports. The module examines the PBIX project file format and explains how PBIX files provide the foundation to developers for deploying and updating datasets and reports for custom solutions. The module explains the best practices of importing data into a star schema and designing a data model using calculated columns, measures and dimensional hierarchies. The module teaches students how to design reports in Power BI Desktop using bookmarks and drillthrough pages to provide interactive navigation and filtering.

Topics Covered

  • Designing Queries using the Query Editor Window
  • Importing Data into a Star Schema
  • Building a Data Model using DAX
  • Designing Interactive Reports with Bookmarks
  • Designing Reports with Drillthrough Pages
  • Publishing PBIX Project Files to the Power BI Service

 

Module 2: Designing Advanced Queries using M

This module examines advanced query design techniques in Power BI Desktop. Students will be introduced to the M programming language and will learn to edit M expressions in the Advanced Editor window of Power BI Desktop and in Visual Studio. The module explains how to program with complex M datatypes such as records, lists, tables and user-defined types. The module explains the inner workings of query folding with the mashup query engine and teaches students how to design queries to be more efficient. The module explains the purpose of query functions and teaches students how query functions can be used to design a more flexible and dynamic process for importing data. Along the way, students will learn when and how to use query parameters and how to create Power BI project template files.

Topics Covered

  • Understanding Query Design and the ETL Process
  • Introduction to Programming with M
  • Understanding Query Folding
  • Designing with Query Functions
  • Designing with Query Parameters
  • Creating Reusable Project Template Files

 

Module 3: Developing Custom Data Connectors

This module provides an introduction to developing custom data connectors using the Power Query SDK. The module explains the motivation for creating custom data connectors and walks through how to get started creating custom data connector projects using Visual Studio and the Power Query SDK. Students will learn how to write shared functions in M that are accessible to queries created in Power BI Desktop. The module explains how to package a custom data connector as well as how to test it using Power BI Desktop. The module discusses how to design a custom data connector for a specific type of authentication such as connecting to a Software-as-a-Service (SaaS) applications using OAuth2. Along the way, students will learn to develop a custom data connector that authenticates against Azure Active Directory and extracts data by executing queries using the Microsoft Graph API.

Topics Covered

  • Understanding the Role of Custom Data Connectors
  • Developing with the Power Query SDK
  • Packaging, Deploying and Testing a Custom Data Connector
  • Configuring Authentication for a Custom Data Connector
  • Understanding Authentication Flows with OAuth2
  • Creating a Custom Data Connector for the Microsoft Graph API

 

Module 4: Programming with TypeScript and the D3.js Library

This module begins with quick primer on TypeScript programming for developers already experienced with JavaScript. Students will learn to design and program client-side web applications using TypeScript in Visual Studio. The module explains how to use typed definition files to enable strongly-typed programming when working with JavaScript libraries such as jQuery. 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 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 Power BI custom visual project as well as how to start a local debugging session in the Node.js environment to test and debug a custom visual in a Power BI report running inside the Power BI Service.

Topics Covered

  • Developing Custom Visuals in Power BI
  • Getting Started with Visual Studio Code
  • Working with Node.js and Node Package Manager
  • Creating Custom Visual Projects with PBIVIZ
  • Understanding the Custom Visual Build Process
  • 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. The module examines the Power BI Visuals API that Microsoft created to assist in the development of custom visuals. Students will learn 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 the powerful utility classes that are included along with the Power BI Visuals API. The module demonstrates how to package a custom visual as a PBIVIZ file for distribution and demonstrates adding custom visuals to Power BI Desktop projects and publishing custom visuals to an organization.

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
  • Packaging and Distributing Custom Visuals

 

Module 7: Programming the Power BI Service API

This module introduces students to the Power BI Service API and provides an overview of its scope and functionality. The module explains the fundamentals of authenticating with Azure Active Directory and teaches students common programming techniques for authenticating using the Azure Active Directory Authentication Library (ADAL) and working with access tokens and refresh tokens. Students will learn how to call into the Power BI Service API using direct REST calls and also by programming with the .NET client library (Microsoft.PowerBI.Api.dll). Along the way, student will learn how to perform common tasks with the Power BI Service API including uploading PBIX files, patching datasource credentials, redirecting database connection strings and triggering data refresh.

Topics Covered

  • Power BI Service API Overview
  • Registering Applications with Azure AD
  • Programming Authentication and Managing Access Tokens
  • Developing Custom Applications to Publish PBIX Project Files
  • Patching Datasource Credentials and Refreshing Datasets

 

Module 8: Developing with Power BI Embedded

This module teaches students how to embed Power BI reports and dashboards into custom web applications. The module explains the differences between the two primary development models (user-owns-data versus app-own-data) and discusses when to use Power BI Premium versus when to use the Power BI Embedded service in Microsoft Azure. Students will learn to program with the Power BI Service API to retrieve the data required for embedding reports and dashboard. The module explains when to embed reports using Azure AD access tokens versus when to embed reports using embed tokens generated by the Power BI Service API. Students will learn to write client-side code using the Power BI JavaScript API to embed and interact with reports and dashboards.

Topics Covered

  • Overview of the Embedding Features in Power BI
  • Understanding Premium Capacities versus Embedded Capacities
  • Retrieving Embedding Data using the Power BI Service API
  • Generating and Managing Embed Tokens
  • Using the Power BI JavaScript API to Embed Reports and Dashboards
  • Writing Client-side Code to Interact with an Embedded Report

 

Module 9: Securing Datasets using Row Level Security

This module builds upon the previous module to teach students how to leverage Row Level Security (RLS) when developing custom applications which use Power BI embedding. The module demonstrates how to implement RLS within a Power BI Desktop project by creating security roles and writing DAX table filter expressions. The module then explains how designing an application with RLS differs depending on whether you are using the user-owns-data model versus the app-owns-data model. Students will learn how to design an RLS security scheme for the user-owns-data model by using the USERNAME function in DAX and a custom table that associates users with the data they are allows to access. Students will also learn to use RLS when developing with the app-owns-data model where your code must generate embed tokens that are restricted by RLS roles.

Topics Covered

  • Understanding Row Level Security (RLS)
  • Implementing RLS in a Power BI Desktop Project
  • Designing for RLS with the User-Owns-Data Model
  • Implementing RLS Dynamically using the USERNAME Function
  • Designing for RLS with the App-Owns-Data Model
  • Generating Embed Tokens Restricted by RLS Roles

 

Module 10: Developing Streaming Datasets and Real-time Dashboards

This module teaches students how to build real-time dashboards in Power BI using streaming datasets, push datasets and hybrid datasets. The module examines differences between streaming datasets and push datasets and explains how to choose between them for a specific scenario. Students will learn how to use the Power BI Service API to create streaming datasets and to push in rows of data in real time from across the Internet.  Students will learn how to build a real-time dashboard on top of a streaming dataset using streaming data tiles. The module demonstrates how create push datasets with multiple tables and measures containing DAX expressions. The module concludes with an examination of using the Azure Streaming Analytics service to create real-time dashboards in Power BI which monitor activity arriving at an Azure IoT hub or an Azure event hub.

Topics Covered

  • Introduction to Real-time Datasets
  • Creating a Streaming Dataset using C# Code
  • Designing Dashboards with Streaming Data Tiles
  • Creating a Push Dataset with Real-time Data
  • Integrating Azure Streaming Analytics Jobs

 

Module 11: Getting Started with R in Power BI

This module provides students with a fast and furious introduction to R as the world’s most popular platform for advanced data analytics and data visualization. Students will learn how to get up and running with R by installing Microsoft R Open and RStudio. The module teaches students R programming fundamentals and explains how to import and load popular R packages. Students will learn to use RStudio to write and test R scripts which import data and generate R visualizations. After learning how to write and test R scripts in RStudio, students will then learn how to integrate R code into a Power BI Desktop project. Along the way, students will learn how to import data into a Power BI Desktop project using an R script as well as how to use the R script visual to enhance a Power BI report with visualizations created using R visualization packages such as lattice and ggplot2.

Topics Covered

  • Overview of R as a Data Analytics Platform
  • R Programming Language Primer
  • Writing and Testing Scripts in RStudio
  • Using R Packages to Generate Charts and Graphs
  • Using an R Script to Import Data into Power BI Desktop
  • Creating Reports using the R Script Visual

 

Module 12: Developing Custom R Visuals

While it's possible to write and maintain R code inside a Power BI Desktop project, it often makes sense to encapsulate this type of R code using a custom R visual which can be packages and reused across multiple Power BI Desktop projects. This module examines the architecture of a custom R visual and explains how develop a custom R visuals to render charts and graphs in Power BI Desktop reports. Students will learn how to use the PBIVIZ tool to create new custom R visual projects 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 shape the dataset that will be passed to the R code inside. The module demonstrates how to test and debug custom R visuals as well as how to package them for distribution.

Topics Covered

  • Architecture of a Custom R 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

 

Not sure which Power BI training course is right for you?

Here's a quick visual guide to help, click on a course to see more

Courses related to Power BI Developer Certification Bootcamp

For users with 6 - 12 months' experience with Power BI, this Certification Bootcamp is an advanced 3-day training class designed to prepare students to pass Microsoft certification exam 70-778: Analyzing and Visualizing Data with Microsoft Power BI. During the course, students will gain the real-world skills required to design, deploy, upgrade and monitor reporting and dashboard solutions using the rapidly-evolving Power BI platform. All the essential Power BI concepts and techniques discussed in lectures are reinforced with hands-on lab exercises in which students will move through the actual steps required to build reporting and dashboard solutions and then to distribute those solutions to a wide audience using app workspaces and the Power Bi app model.

View course

Getting Started with Power BI is 2-day online training course designed for students who are just getting started with Power BI and who need to get up to speed on building and deploying custom solutions using the Power BI Service and Power BI Desktop. Students will work through hands-on lab exercises to gain and reinforce skills for using a project-based approach for building custom BI solutions using Power BI Desktop.

View course