feat: ajout stat Familles sans evenements

wip-related-pages
Sébastien Arod 2024-12-10 10:04:45 +01:00
parent 1a67b7888f
commit db7f5dbef8
2 changed files with 14 additions and 5 deletions

View File

@ -9,10 +9,7 @@ export const statsGeneralesDesc = {
nbFamillesResistantesActuellesOuPassees: { nbFamillesResistantesActuellesOuPassees: {
label: "Nb Familles résistantes actuellement ou par le passé", label: "Nb Familles résistantes actuellement ou par le passé",
}, },
nbFamillesResistantesActuellesParDepartement: {
label: "Nb familles actuellement résistante par département",
type: "multi",
},
nbDepartementsAvecDesFamillesResistantes: { nbDepartementsAvecDesFamillesResistantes: {
label: "Nb départements avec des familles actuellement résistantes", label: "Nb départements avec des familles actuellement résistantes",
}, },
@ -24,6 +21,9 @@ export const statsGeneralesDesc = {
label: "Durée médiane de résistance", label: "Durée médiane de résistance",
unit: " jours", unit: " jours",
}, },
nbFamillesResistantesActuellesOuPasseesSansEvenements: {
label: "Nb familles résistantes (actuelles ou passées) sans évènements",
},
nbFamillesParContexteDEntree: { nbFamillesParContexteDEntree: {
label: "Nb Familles par contexte d'entrée", label: "Nb Familles par contexte d'entrée",
type: "multi", type: "multi",
@ -36,6 +36,10 @@ export const statsGeneralesDesc = {
label: "Nb fiches famille par statut", label: "Nb fiches famille par statut",
type: "multi", type: "multi",
}, },
nbFamillesResistantesActuellesParDepartement: {
label: "Nb familles actuellement résistante par département",
type: "multi",
},
}, },
} as const; } as const;

View File

@ -14,6 +14,10 @@ export function computeStatsGenerales(familles: Famille[]): StatsGenerales {
const famillesResistantesOrEx = familles.filter( const famillesResistantesOrEx = familles.filter(
(f) => isResistant(f) || isExResistant(f) (f) => isResistant(f) || isExResistant(f)
); );
const famillesSansEvenements = famillesResistantesOrEx.filter(
(f) => f.Evenements.length === 0
);
const famillesResistantes = familles.filter((f) => isResistant(f)); const famillesResistantes = familles.filter((f) => isResistant(f));
const dureesResistances = famillesResistantesOrEx.map( const dureesResistances = famillesResistantesOrEx.map(
@ -31,7 +35,8 @@ export function computeStatsGenerales(familles: Famille[]): StatsGenerales {
).length, ).length,
dureeResistanceMedianne: median(dureesResistances), dureeResistanceMedianne: median(dureesResistances),
dureeResistanceMoyenne: average(dureesResistances), dureeResistanceMoyenne: average(dureesResistances),
nbFamillesResistantesActuellesOuPasseesSansEvenements:
famillesSansEvenements.length,
nbFamillesParContexteDEntree: sortByKey( nbFamillesParContexteDEntree: sortByKey(
countBy(famillesResistantesOrEx, (f) => f.ContexteEntree) countBy(famillesResistantesOrEx, (f) => f.ContexteEntree)
), ),