## CREATE SAMPLE DATA
#-------------------------------#
  columnNames <- paste0("COL0", 1:5)  
  silent <- lapply(columnNames, assign, 1:10, envir=.GlobalEnv)
  test <- data.table(cid=LETTERS[1:10], sapply(columnNames, function(x) get(x, envir=parent.frame(2))), key="cid")
  # CLEAR LOCALLY
  silent <- lapply(columnNames, assign, "Wrong One", envir=.GlobalEnv)
  rm(columnNames)
#-------------------------------#


  #----------------------------------------#
  #  THIS WORKS, BUT IS NOT PROGRAMMATIC
  #----------------------------------------#
    # columnNames <- quote(list("DirectPOS.SUM" = sum(DirectPOS_AmazonUnits_d, DirectPOS_BestBuyUnits_d, 
    #                         DirectPOS_FredMeyerUnits_d, DirectPOS_SamsClubUnits_d, DirectPOS_TargetUnits_d, 
    #                         DirectPOS_TotalUnits_d, DirectPOS_TransworldUnits_d, DirectPOS_WalmartUnits_d, na.rm=TRUE) ))
    # artistMetrics.private[, eval(columnNames), by=list(artistID, Day)]
  #----------------------------------------#


  #----------------------------------------#

  columnNames <- c("cid", names(test)[grep("COL", names(test))])

  test[test[, lapply(columnNames, function(x) get(x, envir=parent.frame(2)))], newCol := sum(V1, V2, V3, V4, V5)]
  test[test[, lapply(columnNames, function(x) get(x, envir=parent.frame(2))), by=cid], newCol := sum(V1, V2, V3, V4, V5)]

  lapply(columnNames, function(x) get(x, envir=parent.frame(2)))

