Set up the working directory and load datasets and packages
#Working directory
setwd("C:/Users/DellPC/Desktop/r2_nhap/input")
#Load datasets
data.file<-list()
data.file<-lapply(Sys.glob("*.csv"),read.csv)
OB_sort<-as.data.frame(data.file[1])
R2_CustomerMaster<-as.data.frame(data.file[2])
R2_InboundTransportRate<-as.data.frame(data.file[3])
R2_Initial_Inventories<-as.data.frame(data.file[4])
R2_OutboundTransportRate<-as.data.frame(data.file[5])
R2_POLine<-as.data.frame(data.file[6])
R2_ProductMaster<-as.data.frame(data.file[7])
R2_Projected_CoverageDay_By_Class<-as.data.frame(data.file[8])
R2_Projected_SL_By_Segmentation<-as.data.frame(data.file[9])
R2_ROLine<-as.data.frame(data.file[10])
R2_SOLine<-as.data.frame(data.file[11])
R2_StorageCost<-as.data.frame(data.file[12])
R2_TOLine<-as.data.frame(data.file[13])
#Load packages
suppressMessages(library(tidyverse))
## Warning: package 'tidyverse' was built under R version 3.6.2
suppressMessages(library(leaflet))
suppressMessages(library(scales))
suppressMessages(library(knitr))
## Warning: package 'knitr' was built under R version 3.6.3
suppressMessages(library(rmarkdown))
## Warning: package 'rmarkdown' was built under R version 3.6.2
suppressMessages(library(viridis))
## Warning: package 'viridis' was built under R version 3.6.2
suppressMessages(library(ggsci))
## Warning: package 'ggsci' was built under R version 3.6.3
suppressMessages(library(Amelia))
## Warning: package 'Amelia' was built under R version 3.6.3
suppressMessages(library(lubridate))
#First preparation for datasets. Cus will be the main datasets for processing with leaflet package
Cus<- R2_CustomerMaster
Cus<-left_join(Cus,R2_OutboundTransportRate,by=c("CusId"="CustomerId"))
R2_SOLine<- R2_SOLine%>%select(SoCustomerId,SoEnteredDate,SoQuantity,SoUnitCost,SoOrderLineId)
R2_TOLine1<- left_join(R2_TOLine,R2_SOLine,by="SoOrderLineId")%>%select(SoCustomerId,SoEnteredDate,SoUnitCost,ToQuantity,ToArrivalDate)%>%mutate(SoEnteredDate=as.character(SoEnteredDate),ToArrivalDate=as.character(ToArrivalDate))%>%mutate(SoEnteredDate=as.Date(SoEnteredDate,format="%Y-%m-%d"),ToArrivalDate=as.Date(ToArrivalDate,format="%Y-%m-%d"),difftime=as.integer(abs(SoEnteredDate-ToArrivalDate)), Sales=SoUnitCost*ToQuantity,total_time=difftime*ToQuantity)%>%group_by(SoCustomerId)%>%summarise(Sales=sum(Sales),total_time=sum(total_time),ToQuantity=sum(ToQuantity))%>%arrange(desc(Sales))%>%mutate(cum_Sales=cumsum(Sales/sum(Sales)),lead_time=total_time/ToQuantity)%>%mutate(Class=ifelse(cum_Sales<0.8,"A",ifelse(cum_Sales>=0.95,"C","B")))
Cus<-left_join(R2_TOLine1,R2_Projected_CoverageDay_By_Class,by=c("Class"="ClassAbc"))%>%select(-c(total_time,cum_Sales,total_time))
## Warning: Column `Class`/`ClassAbc` joining character vector and factor, coercing
## into character vector
Cus<-left_join(Cus,R2_CustomerMaster,by=c("SoCustomerId"="CusId"))
leaflet(data=Cus)%>%addTiles()%>%addProviderTiles(provider = providers$MtbMap)%>%addProviderTiles(provider = providers$Stamen.TonerLines)%>%addProviderTiles(provider = providers$Stamen.TonerLabels) %>%addCircleMarkers(data=Cus,lng=~Longitude,lat=~Latitude,color = ~c("red","blue","yellow"))%>%addPopups(lng =~Cus$Longitude,lat=~Cus$Latitude,popup = paste(Cus$SoCustomerId,"Sales: ",Cus$Sales),options = popupOptions(keepInView = TRUE,closeOnClick = FALSE))