data = ({
label: "Birth date accuracy IAM",
children: Array.from(
d3.group(animalsCreatedByBirthDateAccuracy, (d) => d.BIRTHDATEACCURACY)
).map((d) => {
const accuracy = d[0];
const value = d[1];
const total = d3.sum(d[1], (d) => d.TOTAL);
return {
label: `${accuracyToLabel[accuracy]}${showTotals ? ` (${total})` : ""}`,
value,
children: Array.from(d3.group(value, (d) => d.SPECIES)).map((d) => {
const speciesLabel = d[0];
const speciesValue = d[1];
const total = d3.sum(d[1], (d) => d.TOTAL);
return {
label: `${speciesLabel}${showTotals ? ` (${total})` : ""}`,
children: Array.from(d3.group(speciesValue, (d) => d.SEX)).map(
(d) => {
const sexLabel = d[0];
const total = d3.sum(d[1], (d) => d.TOTAL);
return {
label: `${sexLabel}${showTotals ? ` (${total})` : ""}`,
total
};
}
)
};
})
};
})
})