BDD absentéisme – déterminer un type d’arrêt selon le nb de journées

  • BDD absentéisme – déterminer un type d’arrêt selon le nb de journées

    Posté par Audrey sur 19 juillet 2024 à 9h41

    Bonjour,

    Dans le cadre d’une étude sur l’absentéisme dans mon entreprise, je souhaiterais catégoriser les arrêts selon leur durée. Les catégories sont les suivantes : « Arrêt court (<= 3j) », « Arrêt long (de 3 à 7 jours) », « Arrêt long (de 8 à 30 jours) », « Arrêt long (de 30 à 90 jours) » et « Arrêt long (> 90 jours) ».

    Vous trouverez joint à ce message un exemple de base de données utilisée. Celle-ci découpe les arrêts mois par mois afin d’avoir un décompte mensuel du nombre de journées d’absence.

    Le but est qu’un arrêt soit compté une seule fois dans l’année d’étude et pour la valeur la plus élevée de catégorie d’arrêt qu’elle présente.

    En effet, l’étude est filtrée à l’aide d’un segment de type curseur (« Entre ») et pour l’exemple ci-joint je souhaite qu’en sélectionnant « 1 » en mois max, la catégorie arrêt affiche « Arrêt long (de 8 à 30 jours) », en sélectionnant « 3 » en mois max, la catégorie arrêt affiche « Arrêt long (de 30 à 90 jours) » et en sélectionnant « 6 » en mois max, la catégorie arrêt affiche « Arrêt long (> 90 jours) ».

    Après avoir testé plusieurs méthodes, en passant par Power Query, les colonnes calculées de Power BI, je ne parviens pas à réaliser cette manipulation.

    Comment faire pour obtenir à la fin un tableau type matrice qui me donne le volume d’arrêts par type (arrêt court, arrêt long) et qui soit dynamique avec les filtres de date ?

    Je vous remercie d’avance de votre aide.

    Audrey

    Audrey a répondu Il y a 1 mois, 2 semaines 2 Membres · 2 Réponses
  • 2 Réponses
  • Bakhaira

    Membre
    20 juillet 2024 à 1h56

    1-Créez une mesure pour calculer la durée totale de l’arrêt pour chaque employé :

    Durée Totale Arrêt =
    CALCULATE(
    SUM(‘Table'[NB_JOURS]),
    ALLEXCEPT(‘Table’, ‘Table'[MATRICULE], ‘Table'[ABSENCE])
    )

    2- Créez des mesures pour chaque catégorie d’arrêt :

    Arrêt court (<= 3j) =
    CALCULATE(
    DISTINCTCOUNT(‘Table'[MATRICULE]),
    FILTER(
    ALLEXCEPT(‘Table’, ‘Table'[MATRICULE], ‘Table'[ABSENCE]),
    [Durée Totale Arrêt] <= 3
    )
    )

    Arrêt long (de 3 à 7 jours) =
    CALCULATE(
    DISTINCTCOUNT(‘Table'[MATRICULE]),
    FILTER(
    ALLEXCEPT(‘Table’, ‘Table'[MATRICULE], ‘Table'[ABSENCE]),
    [Durée Totale Arrêt] > 3 && [Durée Totale Arrêt] <= 7
    )
    )

    Arrêt long (de 8 à 30 jours) =
    CALCULATE(
    DISTINCTCOUNT(‘Table'[MATRICULE]),
    FILTER(
    ALLEXCEPT(‘Table’, ‘Table'[MATRICULE], ‘Table'[ABSENCE]),
    [Durée Totale Arrêt] > 7 && [Durée Totale Arrêt] <= 30
    )
    )

    Arrêt long (de 30 à 90 jours) =
    CALCULATE(
    DISTINCTCOUNT(‘Table'[MATRICULE]),
    FILTER(
    ALLEXCEPT(‘Table’, ‘Table'[MATRICULE], ‘Table'[ABSENCE]),
    [Durée Totale Arrêt] > 30 && [Durée Totale Arrêt] <= 90
    )
    )

    Arrêt long (> 90 jours) =
    CALCULATE(
    DISTINCTCOUNT(‘Table'[MATRICULE]),
    FILTER(
    ALLEXCEPT(‘Table’, ‘Table'[MATRICULE], ‘Table'[ABSENCE]),
    [Durée Totale Arrêt] > 90
    )
    )

    En principe ca devrais marché, fin j’espere

  • Audrey

    Membre
    22 juillet 2024 à 14h58

    Merci pour ton retour, mais nous souhaiterions quelque chose de + dynamique en fct du filtre mois.

    pour mon exemple, l’idée c’est que si l’utilisateur sélectionne le mois Janvier alors nb de jours = 16 et ma matrice devrait ressembler à ça :

    Si l’utilisateur sélectionne l’information de janvier à Février, alors ma durée totale devrait être égale à (16+28=44 jours). Ma matrice devrait ainsi ressembler à ça :

    Merci pour tes idées si tu en as encore 🙂

    • Cette réponse a été modifiée Il y a 1 mois, 2 semaines par  Audrey.

Connectez-vous pour répondre.