viewof benefits = aq.from(clean)
.select('company', 'benefits')
.derive({
num_benefits: aq.escape( d => d3.count(d.benefits) )
})
.dedupe('company','benefits')
.filter(d => d.num_benefits > 0)
.derive({
benefits: d => op.replace(d.benefits, "['", "")
})
.derive({
benefits: d => op.replace(d.benefits, "']", "")
})
.derive({
benefits: d => op.replace(d.benefits, /'/g, "")
})
.groupby('company')
.rollup({
all_benefits: d => op.array_agg(d.benefits)
})
.derive({
all_benefits: d => op.split(d.all_benefits, ',')
})
.unroll('all_benefits')
.derive({
all_benefits: d => op.trim(d.all_benefits)
})
.dedupe('company', 'all_benefits')
.rename({all_benefits: 'benefit'})
.view()