Q.fa <- 
"
SELECT 
      artist,        fa.artistid AS artistid,     deletions,                 displaydate,            freeunits,
      genreid,       label_continent,             label_country,             label_is_distributor,   label_name,
      label_owner,   label_priority,              fa.labelid AS labelid,     mkt_priority,           paidunits,
      releasedate,   releaseid,                   releasename,               royaltydollar,          sale_start_date,
      storeid,       storename,                   transaction_abbr,          transaction_type,       fa.transactiontypeid AS transactiontypeid,
      units,         upc,                         version
FROM 
    (
        SELECT  fa.labelid, fa.genreid, fa.releaseid as upc, fa.artistid, fa.transactiontypeid,
                d.displaydate,
                fa.storeid, st.storename,
                royaltydollar, units, paidunits, freeunits
        FROM 
            (
                SELECT 
                dayid, labelid, storeid, genreid, releaseid, artistid, transactiontypeid,
                sum(royaltydollar) AS royaltydollar, 
                sum(units) AS units, 
                sum(paidunits) AS paidunits, 
                sum(freeunits) AS freeunits 
                
                FROM production.fact_analytics 
                WHERE dayid > 5115 
                GROUP BY dayid, labelid, storeid, genreid, releaseid, artistid, transactiontypeid
            ) fa 
        LEFT JOIN 
            (
              SELECT dayid, displaydate 
              FROM production.dim_day 
              WHERE dayid > 5115
            ) d 
        ON d.dayid=fa.dayid 
        LEFT JOIN
         (
            SELECT storename, storeid
            FROM production.dim_store 
         ) st
        ON FA.storeid = st.storeid
    ) FA
LEFT JOIN 
    (
        SELECT releaseid, releasename, releasedate, sale_start_date, deletions, mkt_priority, version
        FROM production.dim_release
    ) r
ON r.releaseid = FA.upc
LEFT JOIN 
    (
        SELECT labelid, labelname AS label_name, priority AS label_priority, owner AS label_owner, isdistributor AS label_is_distributor, 
               c_l.countryname AS label_country, c_l.continent AS label_continent
        FROM production.dim_label l
        LEFT JOIN production.dim_country c_l
        ON l.countryid = c_l.countryid
    ) L
ON L.labelid = fa.labelid
LEFT JOIN 
    (
        SELECT artistid, artistname AS artist
        FROM production.dim_artist a
    ) A
ON A.artistid = fa.artistid
LEFT JOIN 
    (
        SELECT tt.transactiontypeid AS transactiontypeid, transactiontypeabbr AS transaction_abbr, transactiontypedesc AS transaction_type
        FROM production.dim_transactiontype tt
    ) TT
ON FA.transactiontypeid = TT.transactiontypeid
"
fact_analytics <- runQry(Q.fa)
notify(paste("Looker dim: ", print(dim(fact_analytics))))


if (FALSE) {
# ------------- #
nms.fa <- data.table(rn=seq(ncol(fact_analytics)), name=names(fact_analytics), dup=duplicated(names(fact_analytics)), key="name")

nms.fa[, fixed := name]
nms.fa[nms.fa[(dup)], fixed := paste0("fa.", name)]

Columns <- nms.fa[!(dup), ifelse(name==fixed, name, sprintf("%s AS '%s'", fixed, name))[order(name)] ]

pasteC(Columns, C=", ")}