transac <- "DT"
transac <- "DA"

for (transac in c("DT", "DA")) {

  value.var <- "deltaunits"

  groupCols <- c("country_code", "discretized_tracks", "relative_to_default", "OverridePerc", "multi_cd")

  INFO <- sprintf("Looking at change in %s for %s\n  goruping by %s", ifelse(value.var=="deltarevenue", "REVENUE", "UNITS"), ifelse(transac=="DT", "TRACKS", "ALBUMS"), pasteQand(groupCols))
  cat("\n---------------------------------------\n", INFO, "\n\n")

  ## Add group column
  if (any(groupCols %ni% names(DT.EU_aggd.delta)))
    warning(warningCols("Columns from 'groupCols' not in DT.EU_aggd.delta: ", groupCols[groupCols %ni% names(DT.EU_aggd.delta)]))
  DT.EU_aggd.delta[, group := do.call(paste, c(.SD, sep=" - ")), .SDcols = groupCols]

  # setnames(DT.EU_aggd.deltaunits, gsub(" Experiment", "_Experiment", names(DT.EU_aggd.deltaunits)))
  if (!haskey(DT.EU_aggd)) stop ("DT.EU_aggd.delta has lost its key")
  DT.EU_aggd.deltaunits <- dcast.data.table(DT.EU_aggd.delta[store_name == "iTunes" & transac_type_abbr == transac], makeFormula(setdiff(key(DT.EU_aggd.delta), "TimePeriod"), "TimePeriod"), value.var=value.var)

  ## CONFIRM:  Values as expected
  stopifnot(identical(
        DT.EU_aggd.deltaunits[, sumn(`Before_Experiment`), keyby=list(category, country_code, TreatmentWk1)]
      , DT.EU_aggd.delta[store_name == "iTunes" & transac_type_abbr == transac][TimePeriod=="Before_Experiment", sumn(get(value.var)), keyby=list(category, country_code, TreatmentWk1)]
  ))

  ## USING:  
  Model.During__treatment_country_tracks <- lm(`During_Experiment` ~ TreatmentWk1 * country_code * relative_to_default                          , data=DT.EU_aggd.deltaunits)
  Anova.During__treatment_country_tracks <- anova(Model.During__treatment_country_tracks)
  Tukey.During__treatment_country_tracks <- TukeyHSD(aov(Model.During__treatment_country_tracks))

  tmp_DT.ll <- as.data.table(Tukey.During__treatment_country_tracks)

  assign(paste0("tmp_DT.ll.", transac), value=copy(tmp_DT.ll))



  # cat(INFO, "\n")
  # for (tmp_nm in names(tmp_DT.ll)) {
  #   cat (" \n\n----------------- ", tmp_nm, " ---------------\n\n")
  #   tmp_DT <- tmp_DT.ll[[tmp_nm]]
  #   froms <- setdiff(extract("from_", tmp_DT), "from_TreatmentWk1")
  #   if (length(froms))
  #     # print(tmp_DT[Reduce("&", lapply(froms, function(fr) get(fr) == get(gsub("from_", "to_", fr))))] [!(zero_in_interval)] [orderch(names(tmp_DT)[c(3, 5)])] )
  #     print(tmp_DT[Reduce("&", lapply(froms, function(fr) get(fr) == get(gsub("from_", "to_", fr))))] [`p adj` < 0.1] [orderch(names(tmp_DT)[c(3, 5)])] )
  #   # tmp_DT[(`p adj` < .05)]
  #   else 
  #     # print(tmp_DT [!(zero_in_interval)] [orderch(names(tmp_DT)[c(3, 5)])] )
  #     print(tmp_DT [`p adj` < 0.005] [orderch(names(tmp_DT)[c(3, 5)])] )
  # }; cat("\n", INFO, "\n")


}