Nachdem wir die R Installation für Power BI durchgeführt haben, möchten wir uns in diesem Beitrag mit der Verwendung von R in Power BI beschäftigen. Dabei kann R als Datenquelle, für die Transformation und für die Visualisierung genutzt werden.
Angenommen Sie haben bereits Daten mit R geladen und aufbereitet und möchten diese nun in Power BI nutzen. Dann können Sie das vorhandene R-Skript als Datenquelle in Power BI laden.
Öffnen Sie Power BI Desktop und wählen Sie als Datenquelle R-Skript.

Im folgenden R-Skript Dialog, können Sie Ihr vorhandenes R-Skript als Datenquelle hinterlegen. In diesem Beispiel laden wir das bekannte Iris Dataset (iris) in ein Dataframe (data).
data <- iris

Nachdem das R-Skript ausgeführt wurde, kann über den Navigator das vorhandene Dataframe ausgewählt und für die weitere Transformation in Power Query geladen werden.

Anschließend stehen die Daten des R-Skripts in Power Query für weitere Transformationen zur Verfügung.

R-Skripts können aber auch genutzt werden, um auf bereits geladenen Daten Transformationen auszuführen. Hierfür wählen Sie im Power Query-Editor auf dem Reiter Transformieren die Schaltfläche R-Skript ausführen.

In unserem Beispiel Clustern wir den Iris Datensatz mit dem k-Means Algorithmus. Die Power Query-Abfrage wird als dataset an das R-Skript übertragen.
set.seed(20)
irisCluster <- kmeans(dataset[,1:4], 3, nstart=20)
output <- cbind(dataset,irisCluster$cluster)

Nach der Ausführung des R-Skripts, seht die neue Spalte in Power Query zur Verfügung.

Aus Power Query heraus, können die Daten in den Power BI Bericht übernommen werden und zum Beispiel in eine Matrix visualisiert werden.

Aber auch im Bericht können Sie R für die Visualisierung Ihrer Daten verwenden. Wählen Sie hierfür das Visuelle R-Skriptelement.

In unserem Beispiel erstellen wir ein Matrix von Streudiagrammen, in dem wir die benötigten Daten an das Visual übergeben und dann mit der R Funktion pairs grafisch aufbereiten.
pairs(dataset[1:4], main = „Iris Data“, pch = 21, bg = c(„red“, „green3“, „blue“)[unclass(dataset$Species)])

Quellen: