liss_dt = {
let tour_prefix = class_var.substr(0,3), var1 = class_var,
var2 = tour_prefix + "exprimes_nb"
if (class_var.includes("abstention") ) {
var1 = tour_prefix + "abstention_nb"
var2 = tour_prefix + "inscrits_nb"
} else if (class_var == "t1_vote_blanc") {
var1 = "t1_blancs_nb"
var2 = "t1_votants_nb"
} else if (class_var == "t2_vote_blancs_nuls") {
var1 = "t2_blancs_nuls"
var2 = "t2_votants_nb"
}
if (!lissage) {
return pres2022_t1t2
.derive({ TAUX: `round(1000 * d.${var1} / d.${var2}) / 10`})
.orderby('TAUX')
.derive({ dens_qt: `ntile(${params.nbClasses})` })
.unorder()
.select('codgeo', 'TAUX', 'dens_qt')
}
return liss20_2022
.join_left(pres2022_t1t2.select('codgeo', var1, var2), ['codgeo_v', 'codgeo'])
.filter(`d.dist <= ${params.lissRadius}`)
.groupby('codgeo_1')
.derive({ var1 : `d.${var1} / (1 + Math.pow(d.dist, 1.5))`})
.derive({ tot: `d.${var2} / (1 + Math.pow(d.dist, 1.5))`})
.rollup({ var1: `sum(d.var1)`, tot: `sum(d.tot)` })
.ungroup()
.derive({ TAUX: `round(1000 * d.var1 / d.tot) / 10`})
.orderby('TAUX')
.derive({ dens_qt: `ntile(${params.nbClasses})` })
.unorder()
}