У меня есть следующий код в серверной функции блестящего приложения.
Чтобы построить график каждого типа, мне нужно каждый раз вызывать функцию getPlotData ().Можно ли как-нибудь избежать этого, чтобы приложение стало быстрее?
функция
#This gets Sales data for selected client data
getPlotData <- reactive({
inpParam <<- input$noc
getSalesData(inpParam)
End_date <<- input$endDate
SalesClientData <<- GetSalesClientData()
WeeklySales <<- GetWeeklyData()
FortNightData <<- GetFortNightlyData()
EWS <<- GetEWSData()
MONTHLYSALES <<- GetMonthlyData()
wtSafetyRatio <<- round(as.numeric(crossprod(MONTHLYSALES$SafetyRatio,MONTHLYSALES$Weights)/sum(MONTHLYSALES$Weights)),2)
wtHealthScore <<- round(as.numeric(crossprod(MONTHLYSALES$HealthScore,MONTHLYSALES$Weights)/sum(MONTHLYSALES$Weights)),2)
wtPaymentScore <<- round(as.numeric(crossprod(MONTHLYSALES$PaymentScore,MONTHLYSALES$Weights)/sum(MONTHLYSALES$Weights)),2)
ROLLDATA <<- GetRollingData()
EARLY_TOPUP <<- GetEarlyTopUp()
})
#DPD Plots
output$DPDPLot<-renderPlotly({
getPlotData()
plot_ly(data=SalesClientData, x = ~Date, y = ~DPD, name='DPD', type='scatter', mode = 'lines') %>%
add_trace(y = ~CHECKNACHDPD, name = 'CHEQUE-NACH Payment', type='bar') %>%
add_trace(y = ~CHKNACHBounceDPD, name = 'CHEQUE-NACH Bounce', type='bar') %>%
layout(title= "DPD Pattern", legend = list(orientation = "h"))
})
#Sales Plot
output$SalesPlot<-renderPlotly({
getPlotData()
SalesDayWise = group_by(SalesClientData,Day)
SalesDayWise = summarize(SalesDayWise,TotalSales = sum(TotalPayRecvdAdj, na.rm=TRUE))
plot_ly(data=SalesDayWise, x = ~Day, y = ~TotalSales, name='Total Sales', type='bar') %>%
layout(title="Daywise Sales", legend = list(orientation = "h"))
})