Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
09-16-2016 03:18 AM - last edited 09-16-2016 03:20 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.