Forum Discussion

np212r's avatar
np212r
Regular Visitor
8 years ago

Rscript runs fine in Rstudio not in PowerBi

This script below runs fine in Rstudio but gives me ENVSXP error in PowerBi. Could anyone figure out why?

 

 

library(anomalize)

library(dplyr)

sub= tidyverse_cran_downloads %>%
  time_decompose(count) %>%
  anomalize(remainder)

 

6 Replies

    • np212r's avatar
      np212r
      Regular Visitor

      That did not work. Were you able to run the code I had put in my question?

  • CrisSalgado's avatar
    CrisSalgado
    Frequent Visitor

    Hi, np212r 

    Could you solve this problem?

    I'm using dplyr to

    datafromAccess<-datafromAccess %>% #(lf)
            group_by(Slot, Period) %>% #(lf)
            mutate(colDiff= colValue - colValue[OrdemNum==1]

    but results an error Error: Column `colDiff` must be length 1 (the group size), not 0

    and many "warnings" : 

        Attaching package: 'dplyr'

                The following objects are masked from 'package:stats':

                        filter, lag

                The following objects are masked from 'package:base':

                        intersect, setdiff, setequal, union

    The code works perfectly in R Studio, the dplyr version is 0.8.0.1 (that is supposed to be supported by PowerBI) and the package is installed in the same path of others (like RODBC and stringr) that works fine. 

    Best Regards

    Cristiane

    • JimT99's avatar
      JimT99
      Helper I

      For reasons I am unable to figure out, the dplyr functions cause all kinds of grief in Power BI, especially in the service. I can't believe this issue is not more well reported .

  • np212r Hi. I run into the very same problem. Power bi's r script was not working for the time_decompose function.

    I found a way around it. I gave up running the script. Instead, I used the "r visual opbject" . In there, I ran pretty much the same code:

     


    df=dataset
    library(dplyr)
    library(devtools)
    library(lubridate)
    library(zoo)
    library(tidyquant)
    library(ggplot2)

    library(anomalize)
    df=df[complete.cases(df$HZ),]
    df=df[complete.cases(df$FECHA),]
    row.names(df) <- NULL

    df=as_tibble(df)

    df$FECHA=as.Date(df$DATE)
    plot(df$FECHA,df$y)
    df1=df %>%
    ungroup() %>%
    time_decompose(y) %>%
    anomalize(remainder) %>%
    time_recompose()
     
    ggplot(df1, aes(x = DATE, y = observed, color = anomaly)) +
    geom_point(size = 3)

     

     

     

    as you can see, I did not plot the time series with the plot_anomalies function, but rather used ggplot.

    Hope it helps