interpol3 = l => {
let t = 2 * l
aq.addFunction('decrease_with_aging', decrease_with_aging, { override: true })
aq.addFunction('increase_with_getting_younger', increase_with_getting_younger, { override: true })
if (l <= 0.5) {
let decal = Math.round(15 * t), decal2 = 15 - decal
let dt1991 = data_pivot.select(0,1,2,'y_1991')
.derive({ y_1991: `op.decrease_with_aging(d.Alter_in_Jahren, d.sexe, ${decal}, d.y_1991)`} )
.derive({ Alter_in_Jahren: `d.Alter_in_Jahren + ${decal}` } )
.rename({ 'y_1991': 'y_1991_d' })
let dt1996 = data_pivot.select(0,1,2,'y_2006')
.derive({ Alter_in_Jahren: `d.Alter_in_Jahren - ${decal2}`} )
.derive({ y_2006: `op.increase_with_getting_younger(d.Alter_in_Jahren, d.sexe, ${decal2}, d.y_2006)`} )
.rename({ 'y_2006': 'y_2006_d' })
return dt1991.join_full(dt1996)
.orderby('Alter_in_Jahren').filter('d.Alter_in_Jahren >= 0 && d.Alter_in_Jahren < 85')
.derive({ value: `d.y_1991_d === undefined ? d.y_2006_d :
d.y_2006_d === undefined ? d.y_1991_d :
((1 - ${t*t}) * d.y_1991_d + ${t*t} * d.y_2006_d)`})
} else {
t = 2 * (l - 0.5)
let decal = Math.round(15 * t), decal2 = 15 - decal
let dt2006 = data_pivot.select(0,1,2,'y_2006')
.derive({ y_2006: `op.decrease_with_aging(d.Alter_in_Jahren, d.sexe, ${decal}, d.y_2006)`} )
.derive({ Alter_in_Jahren: `d.Alter_in_Jahren + ${decal}`})
.rename({ 'y_2006': 'y_2006_d' })
let dt2021 = data_pivot.select(0,1,2,'y_2021')
.derive({ Alter_in_Jahren: `d.Alter_in_Jahren - ${decal2}`} )
.derive({ y_2021: `op.increase_with_getting_younger(d.Alter_in_Jahren, d.sexe, ${decal2}, d.y_2021)`} )
.rename({ 'y_2021': 'y_2021_d' })
return dt2006.join_full(dt2021)
.orderby('Alter_in_Jahren').filter('d.Alter_in_Jahren >= 0 && d.Alter_in_Jahren < 85')
.derive({ value: `d.y_2006_d === undefined ? d.y_2021_d :
d.y_2021_d === undefined ? d.y_2006_d :
((1 - ${t*t}) * d.y_2006_d + ${t*t} * d.y_2021_d)`})
}
}