Power BI – wyświetlanie wartości zmiennych z wizualizacji języka R

Power BI za pomocą wizualizacji języka R (R script visual) pozwala na wykorzystanie niemalże wszystkich graficznych możliwości pakietu R. W chwili gdy będziemy jednak chcieli wyświetlić wartości pojedynczych zmiennych otrzymamy komunikat z błędem:

Zgodnie z komunikatem w Power BI Desktop możemy prezentować wyłącznie wizualizacje, które są generowane przez R Server, a próba wyświetlenia pojedynczej wartości zmiennej skończy się błędem: “Can’t display this visual. No image was created…”

W sytuacji gdy nie chcemy jednak wyświetlać wykresu tylko jedną lub kilka wartości w tabeli możemy wykorzystać jedną z bibliotek. Spójrzmy na poniższy kod:

library(gridExtra)

colnames(dataset) <- c("PaymentAmountEUR","CustomerID")

x <- matrix(c("Value"), ncol=1)
number_of_rows <- nrow(dataset)
min_value <- min(dataset$PaymentAmountEUR)
max_value <- max(dataset$PaymentAmountEUR)
median_value <- median(dataset$PaymentAmountEUR)
mean_value <- format(round(mean(dataset$PaymentAmountEUR), 2), nsmall = 2)
sd_value <- format(round(sd(dataset$PaymentAmountEUR), 2), nsmall = 2)

y <- rbind(x, number_of_rows)
y <- rbind(y, min_value)
y <- rbind(y, max_value)
y <- rbind(y, median_value)
y <- rbind(y, mean_value)
y <- rbind(y, sd_value)

grid.table(y)

Kod jest dość prosty. Korzystamy z biblioteki gridExtra, dzięki której będziemy mogli przygotować i wyświetlić dowolną tabelę w R. W poszczególnych liniach kodu przygotowujemy wyliczenia, które będziemy chcieli zaprezentować, następnie za pomocą rbind tworzymy zestaw danych zawierający wszystkie składowe dane i na końcu za pomocą grid.table wyświetlamy tabelę. Efekt prezentuje poniższy zrzut ekranu.

Dzięki takiemu użyciu pakietu gridExtra w Power BI Desktop jesteśmy w stanie wyświetlić wyniki cząstkowe dla prezentowanych wykresów i analiz oraz obliczyć w R zaawansowane wskaźniki, których obliczenie w Power BI byłoby bardzo trudne lub wręcz niemożliwe.

Slawomir Drzymala
Follow me on

8 Comments

  1. Tak trochę nie na temat… Dwa-trzy lata temu spotkałem się z opinią, że Python zdeklasował język R na polu obróbki i wizualizacji danych. A ostatnio spotykam się z opiniami, że teraz jest odwrotnie, że to R zdobył rynek danych, i przeskoczył Pythona w tym. A jak to jest w rzeczywistości?

    • Osobiście ciężko jest mi odpowiedzieć jak naprawdę jest w rzeczywistości, ponieważ aż tak dużo czasu nie poświęcam samej analizie danych i nie śledzę wszystkich wiadomości i trendów, natomiast mogę odpowiedzieć z mojego punktu widzenia.
      Powołujac się na kdnuggest, czyli jedna z największych stron i społeczność jeżeli chodzi o Data Science, nie zgodziłbym się, że kiedyś Python zdecydowanie wyprzedzał R. Zerknij tutaj:
      http://www.kdnuggets.com/polls/2015/analytics-data-mining-data-science-software-used.html
      http://www.kdnuggets.com/2016/07/burtchworks-sas-r-python-analytics-pros-prefer.html
      Wydaje mi się jednak, że teraz bardzo dużo słyszy się i wiele osób zaczyna interesować się R i w ogóle Data Science ze względu na Microsoft, Windows Azure ML, Power BI etc. Dlatego wydaje mi się, że teraz R zyskuje taka popularność.

      • Dzięki za odpowiedź. Faktycznie obecnie jest wzmożenie zainteresowania językiem R ze względu na nowe usługi Microsoft.

        • Wydaje mi się, że najważniejsze w przypadku R jest to, że jest to bardzo rozpowszechniony język wśród pracowników uczelni wyższych. To z kolei pozwoliło na opracowanie blisko 10 tys. bibliotek dla R. Ten potencjał dostrzeżony przez Microsoft owocuje integracją z coraz większą liczbą rozwiązać Microsoftu…

          • Może tak jest na uczelniach technicznych. Na mojej uczelni nietechnicznej jaką jest uniwersytet, na wydziale typowo doświadczalnym czyli na Chemii, o czymś takim jak R nawet nie słyszano. Nie robi się żadnej obróbki statystycznej wyników, poza zwykłymi wykresami. Przez długie lata panował Turbo Pascal. A współczesne podejście do nowoczesnych technologii IT polega na tym że można mieć pocztę email na uniwersyteckim serwerze.

  2. Ja z kolei wywodzę się z uczelni ekonomicznej i spotkałem się z R 🙂 Natomiast moim zdaniem takie podejście do IT, o którym piszesz prędzej czy później może spowodować katastrofę…

  3. R jest popularny na uczelniach gdzie istotna jest przede wszystkim analiza matematyczna/statystyczna, dlatego łatwiej spotkać się z jego użyciem na uczelniach technicznych – w innych po prostu albo są inne narzędzia do analizowania otrzymanych danych albo jako takiej analizy nie potrzeba przeprowadzać w ogóle.

    To, że niektóre wydziały nie używają nowoczesnych narzędzi IT wynika albo z braku potrzeby albo z pewnych “oporów” przed nowościami – przyczyny jak zawsze mogą być różne…

    • “To, że niektóre wydziały nie używają nowoczesnych narzędzi IT wynika albo z braku potrzeby albo z pewnych “oporów” przed nowościami – przyczyny jak zawsze mogą być różne…” – to jest temat na oddzielny wpis, ale na blogu poświęconym chyba socjologii. Osoby pracujące na uczelniach zapominają że kształcą osoby które opuszczając mury uczelni są nieprzystosowane do pracy w warunkach rynkowych. Uczelnie, szczególnie kierunki doświadczalne na uniwersytetach, kształcą pod swoim kątem (magisterium, doktorat, habilitacja, profesura), czyli osoby które nie odnajdą się na współczesnym rynku pracy. Ale tak jak pisałem, to jest temat na całkiem inny blog.

Leave a Reply