IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POWER Discussion :

PowerQuery - Recherchev dans une même table


Sujet :

POWER

  1. #1
    Membre à l'essai
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Septembre 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2021
    Messages : 12
    Points : 12
    Points
    12
    Par défaut PowerQuery - Recherchev dans une même table
    Bonjour à tous,

    Je suis débutant sur PowerQuery et je fais face à un problème. Malgré de multiples recherches sur Internet, forum et livres, je ne trouve pas de solution(s). Je fais donc appel à vous en croisant les doigts qu'il y ait bien une solution.

    Pour information, je suis contrôleur de gestion junior (je viens de terminer mes études) dans le service frais de personnel ainsi que transverse. Nous recevons, chaque mois, la liste des mouvements d'effectifs : changement d'atelier (centre de coûts), statut (actif, absent, alternant, ...), de situation, etc ... Chaque salarié est reconnu par un numéro de matricule unique pour faciliter les recherches. Ce matricule est composé de la façon suivante : 1 chiffre / 1 lettre / 4 chiffres.

    Voici ce que je cherche à faire dans PowerQuery :

    1) J'ai concaténé le numéro de matricule avec le mois que l'on a appelé "ID Matricule" par exemple : AA09638 où le dernier chiffre correspond au mois (ici Août). J'ai réussi
    2) Je souhaite réaliser une RechercheV pour qu'il me trouve le statut M-1 du salarié AA0963 (ici, celui de juillet). Dans Excel, cela correspondrait à réaliser une RechercheV de l'ID Matricule du mois d'Août en ajoutant "-1" (soit AA09637). Je n'ai pas trouvé la solution

    Exemple concret : Une personne rentre dans le registre des effectifs à partir de Juin, il est actif de juin à juillet mais en août il est en situation de longue maladie (donc statut B)

    Mois ID matricule Statut M Statut M-1
    6 AA09636 A (actif) (vide)
    7 AA09637 A (actif) A
    8 AA09636 B (absent) A

    Connaissez-vous le moyen / la solution pour réaliser ce que je cherche à effectuer ?

    J'espère avoir été clair dans mes explications.

    Je vous remercie d'avance !

    Alexis

  2. #2
    Membre éprouvé
    Homme Profil pro
    Contrôleur de gestion en activité
    Inscrit en
    Juillet 2012
    Messages
    544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion en activité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 544
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    Pour t'aider dans ta recherche, je te propose de passer les mois à 2 digits, ce qui fera 07 pour juillet et 12 pour décembre.
    Ensuite de constituer une table avec la liste du personnel et 2 colonnes pour concaténer (une du mois en cours et du précédent).

    Une fois cette table à jour ce sera facile de faire tes recherches et passer les "bosses" telles que le passage de décembre (12) à janvier (01), les entrants qui seront absents de ta base de recherche, etc...

    Au plaisir,
    SM

  3. #3
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 056
    Points : 2 522
    Points
    2 522
    Par défaut
    Bonjour

    A mon sens il n'est pas nécessaire de fusionner les mois et les matricules car Power Query permet de faire des fusions sur plusieurs champs (pas comme RECHERCHEV)

    le plus simple est de construire une table avec les mois et les mois précédent (pour gérer le passage des années)
    ensuite vous fusionnez votre table avec les situations mensuelles avec cette table des mois pour obtenir le mois précédent
    puis vous faites une seconde fusion de votre table avec elle-même sur 2 colonnes : le matricule et mois précédent / mois afin de récupérer la situation précédente du salarié

    2021_09_09 Fusion mois précédent.xlsx

    Nom : 2021_09_09 Fusion mois-précédent.jpg
Affichages : 188
Taille : 86,7 Ko

    Stéphane

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Bonjour,

    PowerPivot et le DAX ne sont-ils pas plus adaptés pour traiter cette étape de glissement de date avec la fonction DATEADD?
    Le DAX offre un support natif du besoin exprimé, contrairement à PowerQuery.

    https://dax.guide/dateadd/

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Raccourcix Voir le message
    [...]A mon sens il n'est pas nécessaire de fusionner les mois et les matricules car Power Query permet de faire des fusions sur plusieurs champs[...]
    +1... J'explique cela dans ce billet...


    Citation Envoyé par Alexis_SI Voir le message
    [...]
    1) J'ai concaténé le numéro de matricule avec le mois que l'on a appelé "ID Matricule" par exemple : AA09638[...]

    Il serait temps que les gens qui "codent" ce genre de données comprennent qu'un mois se code sur deux digits => AA096308, ça simplifierait déjà les choses. C'est aberrant, en 2021, d'être encore confronté à des manquements de ce genre.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Promethee25;11760891[...
    PowerPivot et le DAX ne sont-ils pas plus adaptés pour traiter cette étape de glissement de date avec la fonction DATEADD?
    Le DAX offre un support natif du besoin exprimé, contrairement à PowerQuery.[...]
    Je serais plus nuancé. Date., Duration. ...en power query sont à mon avis explicites de de ce que l'on peut réaliser sur les dates.

    C'est une question de point de vue, ceci dit
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre à l'essai
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Septembre 2021
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2021
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Merci à tous pour les pistes.

    La solution proposée par @Raccourcix fonctionne parfaitement. C'est exactement ce que je recherchais, merci !

    @Pierre Fauconnier, merci pour cette analyse, je ferais attention la prochaine fois. C'est vrai que nous sommes en 2021 ...


    Je vous souhaite une bonne soirée et à bientôt !

    Alexis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier un enregistrement dans une même table
    Par slammer dans le forum Langage SQL
    Réponses: 11
    Dernier message: 04/05/2010, 23h17
  2. Double comptage dans une même table
    Par Patoune dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/03/2007, 17h49
  3. Nls_lang : deux codage dans une même table
    Par Oraman dans le forum Oracle
    Réponses: 6
    Dernier message: 22/08/2006, 12h36
  4. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 16h18
  5. [SQL] Somme de 2 colonnes dans une même table
    Par Cyrilange dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/04/2005, 08h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo