vl.markArea()
.data(submissions)
.transform(
vl.filter('datum.exercise != ""'),
vl.filter(vl.fieldT('created_at').lt({year: 2017, month: 11, date: 22})),
vl.filter('datum.status == "correct"')
)
.encode(
vl.x().field('created_at').timeUnit("monthdatehours").title(null),
vl.y().count(),
vl.color().value('darkgreen'),
vl.row().fieldN('exercise')
)
.height('100')
.render()