Book Image

Extending Power BI with Python and R

By : Luca Zavarella
Book Image

Extending Power BI with Python and R

By: Luca Zavarella

Overview of this book

Python and R allow you to extend Power BI capabilities to simplify ingestion and transformation activities, enhance dashboards, and highlight insights. With this book, you'll be able to make your artifacts far more interesting and rich in insights using analytical languages. You'll start by learning how to configure your Power BI environment to use your Python and R scripts. The book then explores data ingestion and data transformation extensions, and advances to focus on data augmentation and data visualization. You'll understand how to import data from external sources and transform them using complex algorithms. The book helps you implement personal data de-identification methods such as pseudonymization, anonymization, and masking in Power BI. You'll be able to call external APIs to enrich your data much more quickly using Python programming and R programming. Later, you'll learn advanced Python and R techniques to perform in-depth analysis and extract valuable information using statistics and machine learning. You'll also understand the main statistical features of datasets by plotting multiple visual graphs in the process of creating a machine learning model. By the end of this book, you’ll be able to enrich your Power BI data models and visualizations using complex algorithms in Python and R.
Table of Contents (22 chapters)
1
Section 1: Best Practices for Using R and Python in Power BI
5
Section 2: Data Ingestion and Transformation with R and Python in Power BI
11
Section 3: Data Enrichment with R and Python in Power BI
17
Section 3: Data Visualization with R in Power BI

Geocoding addresses using R

You have just learned how to query a web service via raw GET requests to the endpoint and via a handy SDK using Python. As you can already guess, you can also do both with R. Let's see how it's done.

Using an explicit GET request

The package that allows calls to URLs in R is httr (installed by default with the engine). Making a GET request simply translates to GET(your_url) thanks to it. As you have already seen in the previous sections, percent encoding must be applied to the address to be passed as a web parameter to the Bing Maps Locations API endpoint. The function that allows you to apply this type of encoding to a string is found in the RCurl package and is named curlPercentEncode(). In addition, the handy tictoc package will be used to measure run times. Both the RCurl and tictoc packages need to be installed, as shown in the following steps:

  1. Open RStudio and make sure it is referencing your latest CRAN R engine in Global Options...