Magazine Informatique

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

Publié le 18 février 2018 par Sopmar01 @mon_cher_watson

Il y a quelques heures, Julien a posé la question suivante sur notre forum:

Question Julien Forum

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.

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.

Adresse

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

Résultat

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, on importe 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.

Résultat fusion

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.

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. 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.

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, en classe, en entreprise et en ligne.


NOTRE OFFRE DE FORMATIONS


Microsoft Most Valuable Professional

Le CFO masqué vous offre un vaste choix de formations Excel, notamment en tableaux de bord et en modélisation financière, ainsi qu’une série de formations en lien avec Power BI. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel. De plus, nos formations peuvent mener à l’obtention d’une accréditation.

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou [email protected]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Sopmar01 3934 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte