Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now
10-23-2017 02:42 AM - last edited 10-23-2017 02:43 AM
Description
Prerequisites (The sample .pbix files will not work without these prerequites completed)
1. Install R Engine
Power BI Desktop does not include, deploy or install the R engine. To run R scripts in Power BI Desktop, you must separately installR on your local computer. You can download and install R for free from many locations, including the Revolution Open download page, and the CRAN Repository.
2. Install the required R packages.
Download the R script attached to this message and run it to install all required packages on your local machine.
Required R packages:
ggplot2
Tested on:
CRAN 3.3.1, MRO 3.3.0, powerbi.com
This is exactly what I'd like to use, but I want to define limits to ensure a whole day is shown, even if the schedule only has 1 item half an hour long.
Do you have any ideas on dynamically changing the scale? I'm currently using it with a Calendar visual allowing you to select days, which means it could be any day, so it needs a limit for x hours in a variable date 😕
Another possible option (not ideal at all) is to add a placeholder for every day that is 24 hours long!
Hi @C_Houghton,
You certainly can use ggplot functionality to get the required feature.
BTW, @fathomson implmented R Custom Visual on the basis of this show case.
It is still available here.
As a quick and dirty "hack" to your problem you may try to add two zero-length resources at the beginning and the end of the day.
Thanks for your reply! That would be absolutely perfect, but i'm getting errors:
Feedback Type:
Frown (Error)
Timestamp:
2017-10-23T07:56:28.6198256Z
Local Time:
2017-10-23T08:56:28.6198256+01:00
Product Version:
2.47.4766.801 (PBIDesktop) (x64)
Release:
June 2017
IE Version:
11.608.15063.0
OS Version:
Microsoft Windows NT 10.0.15063.0 (x64 en-GB)
CLR Version:
4.6.2. or later [Release Number = 460798]
Workbook Package Info:
1* - en-US, Query Groups: 0, fastCombine: Disabled, runBackgroundAnalysis: True.
Peak Working Set:
386 MB
Private Memory:
271 MB
Peak Virtual Memory:
33.8 GB
Error Message:
R script error.
Loading required package: ggplot2
Loading required package: grid
Loading required package: gridExtra
Warning message:
package 'gridExtra' was built under R version 3.4.2
Loading required package: wesanderson
Warning message:
package 'wesanderson' was built under R version 3.4.2
Loading required package: RColorBrewer
Loading required package: dplyr
Warning messages:
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'dplyr'
2: In libraryRequireInstall("dplyr") :
*** The package: 'dplyr' was not installed ***
Error in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
factor level [2] is duplicated
Calls: sortDataset -> factor
Execution halted
User ID:
db15c5fa-a129-4ae0-ba08-f5149b97bbcb
Session ID:
89517680-55f3-4784-b47f-0655edbd950b
Telemetry Enabled:
True
Model Default Mode:
Import
Snapshot Trace Logs:
C:\Users\ch1\AppData\Local\Microsoft\Power BI Desktop\FrownSnapShot293130851.zip
Performance Trace Logs:
C:\Users\ch1\AppData\Local\Microsoft\Power BI Desktop\PerformanceTraces.zip
Enabled Preview Features:
PBI_Snowflake
PBI_shapeMapVisualEnabled
PBI_EnableReportTheme
PBI_allowBiDiCrossFilterInDirectQuery
PBI_pivotTableVisualEnabled
PBI_numericSlicerEnabled
PBI_daxTemplatesEnabled
PBI_relativeDateSlicer
CustomConnectors
Disabled Preview Features:
PBI_SpanishLinguisticsEnabled
PBI_PbiServiceLiveConnect
Disabled DirectQuery Options:
PBI_DirectQuery_Unrestricted
Cloud:
GlobalCloud
Time:
Mon Oct 23 2017 08:55:49 GMT+0100 (GMT Summer Time)
Client Error Code:
ServiceErrorToClientError
Error Details:
R script error.
Loading required package: ggplot2
Loading required package: grid
Loading required package: gridExtra
Warning message:
package 'gridExtra' was built under R version 3.4.2
Loading required package: wesanderson
Warning message:
package 'wesanderson' was built under R version 3.4.2
Loading required package: RColorBrewer
Loading required package: dplyr
Warning messages:
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'dplyr'
2: In libraryRequireInstall("dplyr") :
*** The package: 'dplyr' was not installed ***
Error in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
factor level [2] is duplicated
Calls: sortDataset -> factor
Execution halted
Stack Trace:
Microsoft.PowerBI.ExploreServiceCommon.ScriptHandlerException: R script error.
Loading required package: ggplot2
Loading required package: grid
Loading required package: gridExtra
Warning message:
package 'gridExtra' was built under R version 3.4.2
Loading required package: wesanderson
Warning message:
package 'wesanderson' was built under R version 3.4.2
Loading required package: RColorBrewer
Loading required package: dplyr
Warning messages:
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'dplyr'
2: In libraryRequireInstall("dplyr") :
*** The package: 'dplyr' was not installed ***
Error in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
factor level [2] is duplicated
Calls: sortDataset -> factor
Execution halted
Any insights off the bat? Or I can follow it up with the creator.
Thanks again
Hi @C_Houghton,
*** The package: 'dplyr' was not installed ***
Try to install it manually from RStudio
> install.packages("dplyr")
Hi there,
I installed that package - looks slightly better:
Error Details:
R script error.
Loading required package: ggplot2
Loading required package: grid
Loading required package: gridExtra
Warning message:
package 'gridExtra' was built under R version 3.4.2
Loading required package: wesanderson
Warning message:
package 'wesanderson' was built under R version 3.4.2
Loading required package: RColorBrewer
Loading required package: dplyr
Attaching package: 'dplyr'
The following object is masked from 'package:gridExtra':
combine
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
Error in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
factor level [2] is duplicated
Calls: sortDataset -> factor
Execution halted
Hi,
Make sure Dates are not hierarchies and no summary applied on other fields.
You welcome to send me the PBIX and I'll have a look .
boefraty @ microsoft . com
Good morning!
Congrats for the great job. 🙂
It is very useful for me.
One question: where is defined the variable datetime_start?
ggplot(dataset,aes(x=datetime_start, y=dataset$Room, color=Person)) +
geom_segment(aes(x=From,xend=To,yend=dataset$Room),size=15) +
scale_colour_discrete(guide=guide_legend(override.aes=list(size=10))) +
ggtitle("Room reservations for building X") + xlab("") + ylab("") + theme_bw()
Thanks for your time! 🙂
Hi @Anonymous,
Sorry for delay in reponse. Do you still need help to your project?
To your question datetime_start is a typo in code. Luckily it was ignored by ggplot because aes is replaced.
Hey, I'm so green with R, I was wondering if you might be able to give me a head start. Literally, I started looking at it today after I saw your post.
How would you adapt this to a production process? That's what I want to do.
Say products "A" and "B" entering various different stages (1, 2, 3) of the development process.
Any head start would be really appreciated.
As a side note, it looks like your data model in PBI is really simple! I like that! I would totally build a simple table based off of referenced queries.
And you're just using a few lines of R to extract that and create the visual. It seems very cool!
Hi @jmpace,
Did you get any help with your project? Sorry for late response.
Please contact me if you still need any help with it.
The developer of this visual @fathomson did an excelent job converting this R visual to custom visual.
Which is still available here. And I hope one day will be avaialble in AppSource. BTW, please check if Gantt chart can be useful for you.
Hi Frank,
Thanks for your new R-showcases. They are very useful. If you consider to convert some of your R-visuals to R-powered-custom visuals, out team will be happy to assist you.
The visibility of R-powered custom visuals is greater and it is not limited for R-users.
This is great, exactly what I was looking for. I am quite new tto R, but was wondering......using the below script:
## Show schedule of projects by start / end date
#
library(ggplot2) # Visualization
# Convert timestamp to POSIXct. What do I do here to make the x-axis format to show yyyy/mm/dd? or alternatively mmm-yy?
dataset$From<-as.POSIXct(dataset$From,format="%Y-%m-%dT%H:%M:%OS")
dataset$To<-as.POSIXct(dataset$To,format="%Y-%m-%dT%H:%M:%OS")
ggplot(dataset,aes(x=datetime_start, y=dataset$Room, color=Person)) +
geom_segment(aes(x=From,xend=To,yend=dataset$Room),size=15) +
scale_colour_discrete(guide=guide_legend(override.aes=list(size=10))) +
ggtitle("Room reservations for building X") + xlab("") + ylab("") + theme_bw()
Thanks again and keep up the good work!!
Kind Regards,
Llewellyn
Try adding a datetime scale similar to below:
scale_x_datetime(breaks = date_breaks("1 month"), labels=date_format("%d/%m/%Y"))
You may also want to turn the date on the X axis for easier reading
theme(axis.text.x = element_text(angle = 90))
P.S. You'll need to load library(scales) to use the scale_x_datetime function...
There doesnt appear to be any R packages attached to this topic?
Hi Mike,
The R code is inside the powerbi dashboard file.