Использование GoogleVis в R внутри Power BI - PullRequest
1 голос
/ 23 января 2020

Я пытаюсь воспроизвести следующие данные:

https://radacad.com/interactive-map-using-r-and-power-bi-create-custom-visual-part-1

Возможно ли использовать библиотеку R Plotly в R Script Visual of Power BI?

Проблема с Plotly заключается в том, что для моего набора данных он настолько медленный, даже когда я компилирую, что в R. это занимает несколько минут. Итак, я решил заменить его на googleVis, который работает очень быстро (я открываю любую другую интерактивную диаграмму Ганта в R).

Вот мой код в R:

 df <- data.frame(Values)
library("googleVis")

 #df$Project.Name <- toString(df$Project.Name)
df$Processed_start_date_cut <- as.Date(df$Processed_start_date_cut)
df$Processed_End_date <- as.Date(df$Processed_End_date)
#df$Milestone <- toString(df$Milestone)

 g <- gvisTimeline(data=df, 
              rowlabel="Project.Name",
              barlabel="Milestones",
              start="Processed_start_date_cut", 
              end="Processed_End_date",
              options=list(timeline="{rowLabelStyle:{fontName:'Helvetica', 
                           fontSize:10, color:'#603913'},
                           barLabelStyle:{fontName:'Garamond', 
                           fontSize:12}}",
                           backgroundColor='#ffd', 
                           height=350 ))
 cat(g$html$chart, file="out.html")

I попробовал это в R, и это прекрасно работает. В BI это работает впервые, но когда я меняю какие-либо фильтры, в этом недавно созданном элементе pbivis ничего не отображается, если только я go не перейду на другую вкладку моего отчета, а затем вернусь на эту вкладку с этим недавно разработанным pbivis ( по этой причине я подумал, что сначала она не работает, извините).

Смотрите скриншот

enter image description here

Я также заметил что если я максимизирую этот пункт (pbivis), то график исчезнет (т.е. ничего не показывает).

Полагаю, мне нужен своего рода код для обновления визуальных элементов, который может появиться раньше, чем df <- data.frame (значения), возможно, что-то вроде F5 в IE. </p>

Тоже пробовал и не получилось:

if (file.exists("out.html")) 
   #Delete file if it exists
   file.remove("out.html")

1 Ответ

1 голос
/ 28 января 2020

Как предположил пользователь 3867743, проблема связана с

cat(g$html$chart, file="out.html")

После замены на

print(g, file="out.html")

Он начал работать нормально.

...