SCRATCH - expand_SC_using_defaultMetaValues.r

expand_SC_using_defaultMetaValues <- function(DT="DT.split_percs.unexpanded") {
    
    if (is.character(DT))
        DT <- get(DT)

    ret_DT <- DT[, list(subtotal_nodate=sum(OA_gross_forDSOM)), keyby=kCols.splitgroup_nodate]

    ## -------------------------------------------------------------------------------- ##
    ## Add in default values
    ## -------------------------------------------------------------------------------- ##
    ## Add in every SC to every store, using list(label_sc_group=SCs) over kCols.store
    ## Then merge it back into the original ret_DT
    ## and set the NAs in subtotal_nodate to $0 and the meta values to default
    ##
    ## CONFIRM FIRST that there are NO NAs in anypart of ret_DT
    stopifnot(!is.na(ret_DT[, c("subtotal_nodate", cols.to.spliton), with=FALSE]))

    setkeyIfNot(ret_DT, kCols.storeSC, superset.ok=TRUE, verbose=FALSE)
    ret_DT <- ret_DT[setkey(ret_DT[, list(label_sc_group=oscFactorLevels), by=kCols.store]), allow=TRUE]
    ret_DT[is.na(subtotal_nodate), c(names(default.metavalues), "subtotal_nodate") := c(default.metavalues, 0)]

    ## CONFIRM: If everything was done right, then the sum in ret_DT should be equal to that of DT
    stopifnot(equals(sumn(ret_DT$subtotal_nodate), sumn(DT$OA_gross_forDSOM)))

    ## CONFIRM AGAIN, No NAs in ret_DT
    stopifnot(!is.na(ret_DT))
    ## -------------------------------------------------------------------------------- ##

    return(ret_DT)
}
