En réponse à une question sur notre forum: Recherche une valeur texte selon une date

Publié le 18 février 2018
par Sophie Marchand M.Sc.
Fusion avec adresses

Il y a quelques heures, Julien a demandĂ© comment obtenir les adresses par pĂ©riode de paie, de chaque employĂ©, dans Power Query. Voici plus spĂ©cifiquement la question qu’il a posĂ© sur notre forum:

obtenir les adresses par période de paie

 

Cet article vise à répondre à Julien en expliquant comment résoudre cette problématique.

 

D’abord, mentionnons qu’il existe plusieurs façons de solutionner cette problĂ©matique. Nous avons optĂ© pour Power Query car nous croyons que c’est la solution la plus simple et que les usagers d’Excel devraient se tourner de plus en plus vers cette solution. Sachez que Power Query peut ĂŞtre ajoutĂ© Ă  n’importe quelle version d’Excel 2010 et 2013 et qu’il est imbriquĂ© dans le menu DonnĂ©es d’Excel 2016 (ne cherchez pas toutefois le mot Power Query, vous ne le trouverez pas… les options sont plutĂ´t sous le menu RĂ©cupĂ©rer et transformer).

 

Données de départ

Julien possède deux tables.

 

La première table (Paie) comprend la liste des matricules et des périodes de paie associées à chaque matricule.

obtenir les adresses par période de paie

 

La deuxième table (Adresses) comprend les adresses par matricule. Toutefois, un mĂŞme matricule peut avoir plus d’une adresse puisque l’employĂ© sous-jacent a pu dĂ©mĂ©nager Ă  quelques reprises au fil du temps.

obtenir les adresses par période de paie

 

Le résultat recherché et fourni par notre démarche est le suivant:

obtenir les adresses par période de paie

 

Power Query: Fusion des tables

Nous avons dĂ©jĂ  rĂ©digĂ© de nombreux articles sur Power Query donc nous allons simplement mettre notre focus sur les Ă©tapes les plus importantes. D’abord, afin d’obtenir les adresses par pĂ©riode de paie, on va commencer par importer les 2 tables dans Power Query (la table Paie et la table Adresses). Ensuite, nous fusionnons la table Adresses Ă  la table Paie.

Fusion avec adresses

 

En dĂ©veloppant le contenu de la table Adresses, on obtient donc le rĂ©sultat ci-dessous. Ă€ noter que chaque matricule est maintenant associĂ© plusieurs fois Ă  la mĂŞme date de paie (autant de fois qu’il y a d’adresses dans la table d’adresses). Ce rĂ©sultat est donc un rĂ©sultat intermĂ©diaire. C’est Ă  l’aide de ce rĂ©sultat intermĂ©diaire qu’on obtiendra notre rĂ©sultat final, soit les adresses par pĂ©riode de paie.

obtenir les adresses par période de paie

 

Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation  des données avec nos formations sur Power Query et Power Pivot dans Excel.

 

Power Query : Colonnes conditionnelles, colonnes personnalisées et filtre

 

Pour l’usager qui ne maĂ®trise pas le langage M

On ajoute ensuite une colonne conditionnelle qui retourne 1 lorsque la date de dĂ©but est infĂ©rieure Ă  la date de fin de pĂ©riode de paie et 0 lorsque ce n’est pas le cas.

Condition 1

 

On ajoute ensuite une autre colonne conditionnelle qui retourne 1 lorsque la date de fin est après ou Ă©gale Ă  la date de fin de pĂ©riode de paie et 0 lorsque ce n’est pas le cas.

Condition 2

 

On ajoute ensuite une colonne personnalisée qui fait la somme des 2 colonnes précédentes.

Colonne personnalisée

 

Au final, on peut donc faire un filtre sur la colonne Somme, pour toutes les valeurs = 2, i.e. lorsque les 2 conditions sont rencontrĂ©es (lorsque la date de paie se trouve dans l’intervalle de dates de dĂ©but et de fin de l’adresse).

Filtre sur 2

 

On peut ensuite supprimer les colonnes dont on n’a pas besoin. Ceci nous permet bel et bien d’obtenir les adresses par pĂ©riode de paie.

Résultat final après suppression colonnes

Pour l’usager qui maĂ®trise le langage M

Au lieu de créer 2 colonnes conditionnelles et 1 colonne personnalisée, on pourrait obtenir le même résultat plus rapidement en remplaçant le tout par une seule colonne personnalisée, qui utiliserait le code ci-dessous. En effet, vous noterez que les colonnes conditionnelles dans Power Query ne permettent pas les conditions avec des ET ou des OU. Dans ce cas, il faut ajouter des colonnes intermédiaires (méthode ci-dessous) ou utiliser le langage M (méthode ci-dessous).

Code M

 

Au final, on arrive au résultat souhaité assez simplement, soit obtenir les adresses par période de paie. Dès que les sources de données évolueront, on pourra rafraîchir notre requête et la table de résultats se mettra alors à jour automatiquement.

 


 

Fichier d’accompagnement VIP Ă  tĂ©lĂ©charger

Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.

 

Formation complémentaire

Si vous n’utilisez pas encore Power Query, c’est tout Ă  votre dĂ©savantage. La quantitĂ© de travail que vous vous Ă©pargnerez en utilisant Power Query est inestimable. Ă€ ce sujet, sachez que nous offrons une formation Excel – Introduction Ă  Power Query et au langage M.

 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

Voici quelques commentaires d’apprenants ayant suivi la formation - Excel Introduction à Power Query et au langage M

CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut