Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
 View Only
  • 1.  Calcul ETP

    Posted Aug 01, 2019 03:46 PM
      |   view attached
    Bonjour,
    Il s'agit de mon premier post sur ce forum, j'espère qu'il sera en ligne avec les règles et coutumes.

    Contexte:
    J'ai accès à une base de salariés qui se présente sous forme: Employee ID (obligatoire) / Arrival Date (obligatoire) / Exit Date (optionnelle) - voir fichier joint, .

    Objectif:
    Je cherche à calculer les Equivalent Temps plein en jours ouvrés.

    Exemple: Un salariés qui arrive le 15 juillet 2019, sur Juillet 2019 en ETP il "vaut" 0,48, car il a travaillé 11 jours ouvrés sur les 23 jours ouvrés du mois.

    Solution:
    Sous Excel, en copie, j'ai écrit une formule qui permet de calculer, au mois le mois et salarié par salarié, la solution recherchée.

    Plusieurs tentatives sous Power BI, m'amènnent... ici.
    Est-ce que vous avez déja rencontré ce problème et si oui comment avez-vous fait ?
    Merci d'avance pour votre aide!

    ------------------------------
    Pauol
    ------------------------------

    Attachment(s)

    xlsx
    Data FTEs.xlsx   21 KB 1 version


  • 2.  RE: Calcul ETP

    Gold Contributor
    Posted Aug 04, 2019 01:16 PM
      |   view attached
    Hello Pawel,

    Exercice très intéressant! Tu trouveras en PJ ma solution. Il y a plusieurs méthodes:
    - Power Query / M: En dépliant la table des employés avec List.Dates. J'aime moins car cela peut potentiellement créer plusieurs millions de lignes dans la nouvelle table...
    - DAX: C'est celle que j'ai retenue (pour m'amuser un peu et tout faire à la volée sans avoir à retoucher la structure de la table source:) )

    Dans les 2 cas, tu as besoin d'une table calendrier à la granularité journalière ainsi que d'une colonne 'flag_working_day' qui indique pour chaque date si c'est un jour ouvré ou pas (il faut donc exclure les week-ends, jours fériés/non travaillés, etc.). Attention, dans ma solution j'ai seulement exclu les week-ends pour le calcul de mes jours ouvrés théoriques.

    Globalement, ma technique consiste à "matcher" l'intervalle de dates retenues avec la plage de date de l'employé (en tenant compte de son départ/arrivée).
    Une petite subtilité en + qu'il fallait gérer: il faut encapsuler la logique du calcul dans un SumX sur les employés (on 'itère' sur chaque employé donc) afin que le calcul de l'ETP soit également correct à un niveau agrégé (sur un mois, plusieurs mois, plusieurs employés ou une BU par exemple).

    Enjoy !

    ------------------------------
    Tristan Malherbe
    Co-Fondateur du Club Power BI
    Expert/Formateur Power BI - Microsoft MVP
    06 09 27 06 97
    ------------------------------

    Attachment(s)

    pbix
    ETP.pbix   91 KB 1 version


  • 3.  RE: Calcul ETP

    Posted May 27, 2021 06:26 AM
    Bonjour Tristan,

    Votre post concernant le calcul des ETP date un peu mais je suis tombée dessus en recherchant un moyen de le faire.
    Néanmoins, de mon côté, je souhaite que le calcul soit annuel, pas mensuel.
    Ex : Un employé travaillant du 01/01/2020 au 30/06/2020 = 0,5 ETP

    En utilisant votre méthode, je me retrouve avec des totaux exorbitant du coup je me demandais si la méthode différée pour mon cas.
    Je n'ai aucune connaissance en DAX donc cela rend l'exercice compliqué.
    Merci d'avance

    Stéphanie

    ------------------------------
    Stéphanie Dufour
    ------------------------------



  • 4.  RE: Calcul ETP

    Posted 7 days ago
    Merci Tristan pour cette technique, mais dans mon modèle ma table Calendar est reliée à ma table des effectifs (sur la date d'entrée)
    Comment puis je adapter ton code pour qu'il prenne en compte (ALL) toutes les dates ?

    J'ai pour le moment dupliqué ma table Calendar en Calendar ETP  pour l'utiliser avec ton code.... ;)

    Merci

    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------



  • 5.  RE: Calcul ETP

    Bronze Contributor
    Posted 6 days ago

    Même motif, même solution ! ou presque. Le pb soulevé est très similaire au post "nbre de de jours par mois entre 2 dates". En replacant 'Absences' par le nom de la table des employés, la mesure donne le nombre de jour de présence des employés. Il suffit alors d'ajouter la division par le nombre de jours dans la période.

    Equivalent ETP =
    VAR _daysactive =
        SUMX (
            VALUES ( Calendar[Date] ),
            VAR _day = Calendar[Date]
            RETURN
                CALCULATE (
                    COUNTROWS ( Employees ),
                    Employees[Date in] <= _day,
                    Employees[Date out] >= _day,
                    REMOVEFILTERS ( Calendar )
                )
        )
    VAR _daysinperiod =
        COUNTROWS ( Calendar[Date] )
    RETURN
        DIVIDE ( _daysactive, _daysinperiod )
    


    ------------------------------
    Bertrand d'Arbonneau
    ------------------------------



  • 6.  RE: Calcul ETP

    Posted 3 days ago
    Bonjour Bertrand,
    merci bcp c'est effectivement plus simple et en relation avec ce que tu m'avais déjà indiqué

    A bientot


    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------