viewof clean = aq.from(raw_data)
.derive({date: d => op.parse_date(d.date)})
.derive({
month_date: aq.escape(d => d3.utcMonth(d.date))
})
.groupby('title', 'job_postal_code')
.rollup({
spend: d => op.sum(d.spend),
leads: d => op.sum(d.leads),
bgc: d => op.sum(d.bgc),
activations: d => op.sum(d.activations)
})
.join_left(aq.from(zips_clean), ['job_postal_code', 'zip_code'])
.derive({
latitude: d => +d.latitude,
longitude: d => +d.longitude
})
.view()