I've created an R Visual as a table, and works pretty well in other report pages. But, this particular one, is not working when it goes to the service.
The error message doesn't tell much about it. Please help.
library(gridExtra)
library(grid)
percent <- function(x, digits = 2, format = "f") {
paste0(formatC(100 * x, format = format, digits = digits), "%")
}
geral<-dataset
geral <- geral[!(is.na(geral$Ticket_Médio_Meta_YTD)),]
geral[is.na(geral)] <- 0
geral$Deals_ROL_Ganho_Ac <- cumsum(geral$Deals_ROL_Ganho)
geral$Deals_ROL_Meta_Ac <- cumsum(geral$Deals_ROL_Meta_YTD)
geral['Ating_Meta_Mensal']<-geral$Deals_ROL_Ganho/geral$Deals_ROL_Meta_YTD
geral['Ating_Meta_Ac']<-geral$Deals_ROL_Ganho_Ac/geral$Deals_ROL_Meta_Ac
geral['Gap_Meta_Mensal']<-geral$Deals_ROL_Ganho-geral$Deals_ROL_Meta_YTD
geral['Gap_Meta_Ac']<-geral$Deals_ROL_Ganho_Ac-geral$Deals_ROL_Meta_Ac
geral[is.na(geral)] <- 0
geralt<-as.data.frame(t(geral))
rnames<-c('Meta Mensal', 'Realizado Mensal', 'Gap Mensal',
'Meta Acum.', 'Realizado Acum.', 'Gap Acum.',
'Forecast', 'Ticket Médio', 'Meta Ticket Médio',
'% Atingimento Mensal', '% Atingimento Acumulado')
meses<-as.character(geralt[1,])
ROL<-as.numeric(geralt[2,])
ROLMeta<-as.numeric(geralt[3,])
Forecast<-as.numeric(geralt[4,])
TM<-as.numeric(geralt[5,])
TMMeta<-as.numeric(geralt[6,])
ROLAc<-as.numeric(geralt[7,])
ROLMetaAc<-as.numeric(geralt[8,])
AtingMesc<-as.numeric(geralt[9,])
AtingAc<-as.numeric(geralt[10,])
GapMes<-as.numeric(geralt[11,])
GapAc<-as.numeric(geralt[12,])
Final <- as.data.frame(rbind(meses,
ROLMeta, ROL, GapMes,
ROLMetaAc, ROLAc, GapAc,
Forecast, TM, TMMeta,
AtingMesc, AtingAc))
colnames(Final)<-unlist(Final["meses",])
Final <- Final[!row.names(Final)=='meses',]
rownames(Final) <- rnames
Final[1,] <- format(round(as.numeric(Final[1,]), 0), big.mark=".", decimal.mark = ',')
Final[2,] <- format(round(as.numeric(Final[2,]), 0), big.mark=".", decimal.mark = ',')
Final[3,] <- format(round(as.numeric(Final[3,]), 0), big.mark=".", decimal.mark = ',')
Final[4,] <- format(round(as.numeric(Final[4,]), 0), big.mark=".", decimal.mark = ',')
Final[5,] <- format(round(as.numeric(Final[5,]), 0), big.mark=".", decimal.mark = ',')
Final[6,] <- format(round(as.numeric(Final[6,]), 0), big.mark=".", decimal.mark = ',')
Final[7,] <- format(round(as.numeric(Final[7,]), 0), big.mark=".", decimal.mark = ',')
Final[8,] <- format(round(as.numeric(Final[8,]), 0), big.mark=".", decimal.mark = ',')
Final[9,] <- format(round(as.numeric(Final[9,]), 0), big.mark=".", decimal.mark = ',')
Final[10,] <- percent(as.numeric(Final[10,]), digits = 1)
Final[11,] <- percent(as.numeric(Final[11,]), digits = 1)
Final['Indicadores']<-rnames
dfFinal <- as.data.frame(Final)
dfFinal <- dfFinal[, c('Indicadores',meses)]
dfFinal <- as.data.frame(apply(dfFinal,2,function(x)gsub('\\s+', '',x))) #Limpa em branco
dfFinal['Indicadores']<-rnames
cols <- matrix("black", nrow(dfFinal), ncol(dfFinal))
for (i in 1:nrow(dfFinal)) {
for (j in 2:ncol(dfFinal)) {
if (dfFinal[i,j] < 0) {
cols[i,j]<-'red'
}}}
tg<-tableGrob(dfFinal,
theme=ttheme_default(
core=list(
bg_params = list(fill=c("grey95",'white')),
fg_params = list(fontsize=24, col = cols),
padding=unit.c(unit(10, 'mm'), unit(10,'mm'))
),
colhead = list(
padding=unit.c(unit(35, 'mm'), unit(10,'mm')),
bg_params=list(fill="grey90", col="grey90"),
fg_params = list(fontsize=26, fontface="bold")
),
),rows = NULL)
tab <- gtable_combine(tg)
grid.newpage()
grid.draw(tab)