minDate <- "2015-06-30"
maxDate <- "2015-07-02"
schema <- "production"

tbl.apple <- "staging_raw_apple_music"
dateCol.apple <- "datestamp"
countryCol.apple <- "storefront_name"
Q.apple <- makeQry(tbl=tbl.apple, schema=schema, colsToPull=c(date=dateCol.apple, country_code=countryCol.apple), colsToAgg=c(streams="quantity"), dateCol=dateCol.apple, minDate=minDate, maxDate=maxDate, key="colsToPull")
DT.apple <- runQry(Q.apple, cluster=9)

tbl.spotify <- "staging_raw_spotify_v2"
dateCol.spotify <- "download_date"
countryCol.spotify <- "user_country"
Q.spotify <- makeQry(tbl=tbl.spotify, schema=schema, colsToPull=c(date=dateCol.spotify, country_code=countryCol.spotify), colsToAgg=c(streams="*"), dateCol=dateCol.spotify, minDate=minDate, maxDate=maxDate, key="colsToPull")
DT.spotify <- runQry(Q.spotify, cluster=9)


## MERGE 
DT.apple_spotify <- merge(DT.apple, DT.spotify, all=TRUE, allow=TRUE, suffix=c(".apple", ".spotify"))
DT.apple_spotify.agg <- copy(DT.apple_spotify)
DT.apple_spotify.agg[is.na(streams.apple) | is.na(streams.spotify), country_code := "ZZ"]
DT.apple_spotify.agg <- aggregateDT(DT.apple_spotify.agg, by=c("country_code"), exclude="date")
DT.apple_spotify.agg[, perc.apple_of_spotify := as.perc(streams.apple / streams.spotify)]
DT.apple_spotify.agg[order(perc.apple_of_spotify, decreasing=TRUE)]
DT.apple_spotify.agg[order(streams.apple, decreasing=TRUE)]


## TOTAL STREAMS
print(DT.apple_spotify[, lapply(.SD, sumn), .SDcols=c("streams.apple", "streams.spotify")][, perc.apple_of_spotify := as.perc(streams.apple / streams.spotify)][, lapply(.SD, formnumb, round=3)])
DT.apple_spotify[, lapply(.SD, sumn), .SDcols=c("streams.apple", "streams.spotify")][, perc.apple_of_spotify := as.perc(streams.apple / streams.spotify)] %>% as.data.frame %>% formnumb(round=-3, perc_auto=TRUE, perc_dec=1)
DT.apple_spotify[, lapply(.SD, sumn), .SDcols=c("streams.apple", "streams.spotify")][, perc.apple_of_spotify := as.perc(streams.apple / streams.spotify)]

.p(as.perc)
DT.apple_spotify[, lapply(.SD, sumn), .SDcols=c("streams.apple", "streams.spotify")][, perc.apple_of_spotify := as.perc(streams.apple / streams.spotify)][, is(perc.apple_of_spotify)]