Power Bi: объединение отфильтрованного и нефильтрованного набора данных в R Visual - PullRequest
0 голосов
/ 19 февраля 2019

Я работаю с панелью управления PowerBi, которая сравнивает наличие определенных черт в целевой группе с базовой совокупностью.Это прекрасно работает с развертками в PowerBi и выглядит следующим образом:

enter image description here

Теперь я хочу добиться аналогичного эффекта в R Visual, который я включил вприборная панель моего Power Bi.В Shiny я достиг этого, располагая отфильтрованный и нефильтрованный набор данных рядом друг с другом и объединив его в один график.

Образец набора данных для R

TargetGroupFilter <- sample( c("Yes", "No"), 50, replace=TRUE, prob=c(0.5, 0.5) )
ActivityA <- sample( c("Yes", "No"), 50, replace=TRUE, prob=c(0.5, 0.5) )
ActivityB <- sample( c("Yes", "No"), 50, replace=TRUE, prob=c(0.7, 0.3) )
ActivityC <- sample( c("Yes", "No"), 50, replace=TRUE, prob=c(0.2, 0.8) )
WEIGHT <- sample (30:50, 50, replace = TRUE)
df <- data.frame(TargetGroupFilter, ActivityA, ActivityB, ActivityC, WEIGHT)

R-код

library(tidyverse)
library(scales)

dfBase <- df
dfTarget <- df[df$TargetGroupFilter == "Yes",]

dfBase1 <- gather(dfBase, key = "Activity", value = "Answer", ActivityA, ActivityB, ActivityC)
dfBase1 <- group_by(dfBase1, Activity, Answer)
dfBase1 <- summarise(dfBase1, Population = sum(WEIGHT))
dfBase1 <- ungroup(dfBase1)
dfBase1 <- mutate(dfBase1, Share = (Population / sum(dfBase$WEIGHT)))
dfBase1$Target <- rep("Base",NROW(dfBase1))

dfTarget1 <- gather(dfTarget, key = "Activity", value = "Answer", ActivityA, ActivityB, ActivityC)
dfTarget1 <- group_by(dfTarget1, Activity, Answer)
dfTarget1 <- summarise(dfTarget1, Population = sum(WEIGHT))
dfTarget1 <- ungroup(dfTarget1)
dfTarget1 <- mutate(dfTarget1, Share =  (Population / sum(dfTarget$WEIGHT)))
dfTarget1$Target <- rep("Target",NROW(dfTarget1))

dfCompare <- rbind(dfBase1,dfTarget1)
dfCompare <- dfCompare [dfCompare$Answer == "Yes",]
dfCompare

ggplot(dfCompare)+
  aes(x=Activity, y=Share, fill=Target)+
  geom_bar(position = "dodge", stat= "identity")+
  scale_y_continuous(labels=percent, limits = c(0,1))

Таблица результатов

enter image description here

Проблема

Отфильтрованный набор данных должен быть получен либо в результате выбора развертки, либо из выбора фильтра уровня отчета вмощность би.Это прекрасно работает, когда я отображаю только отфильтрованные данные.Проблема возникает, когда я хочу отобразить отфильтрованные и нефильтрованные данные в R Visual.Мне известно, что я могу работать с закодированными фильтрами после добавления нефильтрованных данных к соответствующему визуалу.Но я хочу, чтобы отображение отфильтрованных данных реагировало на выбор фильтра или детализации, которые пользователь панели мониторинга делает в Power Bi UX.

Вопросы

Существует ли способ подачи отфильтрованных и нефильтрованных данных в R Visual?Есть ли хороший способ достичь такого визуального эффекта только с Power Bi?

...