Yesterday we saw a beautiful example of panel charts with R. Today let me show you how to create the same (or even better) with Power BI & R.

What you need:
- Power BI Desktop and R
- Raw data set – rem-data.csv
Creating Panel Charts in Power BI with R
- Load CSV data in to Power BI
- Edit the query in so we can transform the data in to Pivot shape in Power Query
- Apply below steps in Power Query
- Group data by Group and Branch with aggregations on count (named Branch Count) and All rows (named Ratings)

- We get a totals by group and branch level.
- Expand Ratings table and show only Ratings column
- This creates a table with all group, branch and rating combinations along with branch total
- Group again, this time on Group, Branch, Branch total and Ratings with aggregation on count.

- Calculate count as percent of Branch count
- Format the percentage as percent
- Close and apply to Load this data in to Power BI
- Group data by Group and Branch with aggregations on count (named Branch Count) and All rows (named Ratings)
- Insert R script visualization
- Add Group, Branch, Ratings and Pct to values area. This creates a dataframe with all 4 columns.
- Add below R script and your visualization is ready.
library(tidyverse)
ggplot(data=dataset) +
geom_bar(aes(x=Rating, y=Pct), stat="identity")+
scale_x_discrete(limits = c("NME","AME","SP","OP","NR"))+
facet_wrap(~Branch, nrow=1)+
theme(strip.text.x = element_text(size = 8))
To run the R script, simply press play button in R script editor pane.
Enhancing your visualization – Adding a slicer on Group
This creates a truly powerful interactive panel chart in Power BI. Simply add Group as a slicer and play with it. Every time you select a new Group, Power BI runs the R script with filtered data fed to the dataframe. There is a second or two lag, but the wait is totally worth it. 🙂
Creating Interactive Panel charts in Power BI with R – Video tut
Here is a video outlining the entire process along with some tips on how to use R in Power BI. Check it out below or on Chandoo.org YouTube channel.
Download Power BI workbook
Click here to download Power BI workbook for this. You may need to adjust the data source settings. Play with the slicer to refresh the R panel charts.
Have you tried Power BI yet?
I am playing with Power BI for last year or so and I am in love. You are going to hear more about it on Chandoo.org for sure.
What about you? Have you played with Power BI yet? What are your thoughts?
Related: Introduction to Power Query.















8 Responses to “Pivot Tables from large data-sets – 5 examples”
Do you have links to any sites that can provide free, large, test data sets. Both large in diversity and large in total number of rows.
Good question Ron. I suggest checking out kaggle.com, data.world or create your own with randbetween(). You can also get a complex business data-set from Microsoft Power BI website. It is contoso retail data.
Hi Chandoo,
I work with large data sets all the time (80-200MB files with 100Ks of rows and 20-40 columns) and I've taken a few steps to reduce the size (20-60MB) so they can better shared and work more quickly. These steps include: creating custom calculations in the pivot instead of having additional data columns, deleting the data tab and saving as an xlsb. I've even tried indexmatch instead of vlookup--although I'm not sure that saved much. Are there any other tricks to further reduce the file size? thanks, Steve
Hi Steve,
Good tips on how to reduce the file size and / or process time. Another thing I would definitely try is to use Data Model to load the data rather than keep it in the file. You would be,
1. connect to source data file thru Power Query
2. filter away any columns / rows that are not needed
3. load the data to model
4. make pivots from it
This would reduce the file size while providing all the answers you need.
Give it a try. See this video for some help - https://www.youtube.com/watch?v=5u7bpysO3FQ
Normally when Excel processes data it utilizes all four cores on a processor. Is it true that Excel reduces to only using two cores When calculating tables? Same issue if there were two cores present, it would reduce to one in a table?
I ask because, I have personally noticed when i use tables the data is much slower than if I would have filtered it. I like tables for obvious reasons when working with datasets. Is this true.
John:
I don't know if it is true that Excel Table processing only uses 2 threads/cores, but it is entirely possible. The program has to be enabled to handle multiple parallel threads. Excel Lists/Tables were added long ago, at a time when 2 processes was a reasonable upper limit. And, it could be that there simply is no way to program table processing to use more than 2 threads at a time...
When I've got a large data set, I will set my Excel priority to High thru Task Manager to allow it to use more available processing. Never use RealTime priority or you're completely locked up until Excel finishes.
That is a good tip Jen...