L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Power Query

Utiliser l'API Meetup

Imprimer E-mail
1 mars 2017

Astuce pour analyser les données d’un groupe Meetup

 Sophie Marchand le 23 janvier a écri un article sur l'analyse d'un groupe Meetup dans Power Bi. Hors elle a soulevé un problème sur la lecture de la totalité des membres d'un groupe Meetup si ce groupe contient plus de 200 membres.

Vous pouvez lire cet article ici : http://www.lecfomasque.com/power-bi-astuce-pour-analyser-les-donnees-dun-groupe-meetup/

Le 13 février je donnais une session sur les fonctions récursives dans Power Query à Montréal durant le Meetup organisé par le Power User Group : Montreal Modern Excel and Power BI.

Je vais donc vous expliquer la solution que je leur ai proposé.

Remplacer le VBA par Power Query

Imprimer E-mail
16 décembre 2016

Petite astuce pour le fun

Dans cet article je vais vous montrer comment utiliser Power Query à la place du VBA pour automatiser une action : Soit une base de données qui doit être alimenté automatiquement à partir d'un formulaire.

Combiner des pages

Imprimer E-mail
12 juillet 2016

Que ce soit pour un fichier de type json, une page web ou flux O'Data, nous ne pouvons pas toujours  récupérer l'ensemble des données en une seule fois. Bien souvent celles-ci sont découpées en plusieurs pages.

Nous devons donc combiner l'ensemble de ces pages, mais tout est ok si nous connaissons à l'avance le nombre de pages. Lorsque le nombre de pages à récupérer est totalement inconnu, c'est de suite beaucoup plus dur.

Pour vous montrer comment faire, je vais utiliser un classeur Excel contenant un tableau et récupérer le contenu de ce tableau dans une requête 10 lignes par 10 lignes. Je vais donc ainsi simuler la lecture de plusieurs pages.

Rechercher la 1ère date d'une série en colonne

Imprimer E-mail
11 juillet 2016

Présentation de la requête

Dernièrement, on m'a demander une requête permettant de visualiser rapidement le 1er jour d'une série d'absences. Le but étant de savoir si les personnes avaient tendance à prendre le vendredi (histoire d'avoir un we un peu plus long) ou le lundi (lendemain de fête difficile).

Les données se présentent ainsi :

MATRICULE Genre Absences
0004DSP M 24/05/2016
0004DSP M 25/05/2016
0004DSP M 26/05/2016
0004DSP M 27/05/2016
0004DSP M 16/06/2016
0004DSP M 17/06/2016
0004DSP M 20/06/2016
0004DSP M 21/06/2016
0006VSC F 23/02/2015
0006VSC F 24/02/2015
0006VSC F 25/02/2015
0006VSC F 31/07/2015
0006VSC F 28/09/2015

Prenons par exemple, le matricule 0004DSP, il nous faut garder uniquement les dates du 24/05/2016 et 16/06/2016. De plus, il me faut compter le nombre de jours d'arrêts, soit 4 jours dans les 2 cas, puisque les samedi et dimanche ne sont pas comptés dans ma source de données.

Pour résumer il nous faut récupérer la 1ère date et le nombre de jours d'une série en colonne.

Aide pour Power Query - langage M

Imprimer E-mail
14 juin 2016

L'interface de Power Query permet d'effectuer pas mal de transformation, mais vous devrez très rapidement utiliser des fonctions non disponibles sur le ruban. Du coup, vous pouvez consulter la page https://msdn.microsoft.com/en-us/library/mt211003.aspx pour trouver de l'aide, mais à ce jour, il n'existe pas de pages en français.

Ce n'est pas bien grave car j'ai élaboré un tableau de bord Power Bi et un classeur Excel qui récupèrent l'ensemble des fonctions et affiche l'aide en FRANÇAIS ou plutôt dans la langue de votre Office.

Cumuler des données

Imprimer E-mail
22 juin 2015

Récupérer plusieurs fichiers texte et les cumuler

Les uns indépendemment des autres

Dans un dossier, nous avons plusieurs fichiers texte et nous avons besoin de les analyser. Dans Excel, vous devez importer chaque fichier texte, puis au plus simple, faire un copier-coller de l'ensemble de ces données dans un seul et même tableau les lignes sous les autres. Les problèmes sont alors les suivants :

  1. Après chaque mise à jour des fichiers texte, vous devez recommencer le copier-coller.
  2. Vous alourdissez inutilement votre classeur.

Nous allons donc utiliser Power Query pour établir une connexion à l'ensemble des fichiers :

  1. Connectez vous au 1er fichier comme indiqué sur cette page : Récupérer et transformer un fichier CSV ou TXT
  2. Faites de même avec le 2e fichier, puis le 3ème, ...Attention ! Vous devez uniquement établir une connexion et ne rien charger que ce soit dans Excel, comme dans le modèle de données.
  3. Puis cumuler les requêtes en sélectionnant l'une des requête, puis dans le menu contextuel (clic-droit) sélectionnez la commande Ajouter.
    Power Query - Ajouter (cumuler) des requêtes
  4. Power Query vous demande alors de préciser quel autre requête doit être ajoutée.
    Power Query - Ajouter des données depuis une autre requête

L'ensemble des fichiers depuis un dossier

Si l'ensemble des fichies à cumuler se trouve dans un seul et même dossier, il existe une méthode encore plus rapide de les cumuler.

  1. cliquez sur la commande A partir d'un fichier > Depuis un dossier ;
  2. sélectionnez votre dossier;

  3. la fenêtre d'édition des requêtes s'ouvre et affiche le contenu de ce dossier.

 

Récupérer et transformer un fichier CSV ou TXT

Imprimer E-mail
22 juin 2015

Récupérer le contenu d'un fichier CSV ou TXT

Dans Excel, il est tout à fait possible de récupérer le contenu d'un fichier CSV ou TXT avec la commande Fichier texte du groupe Données externes sur l'onglet Données. Cette méthode importe les données de votre fichier dans votre classeur et a quelques inconvénients :

  • S'il a besoin de retravail avant son analyse, vous devez le faire dans votre classeur. Mais à chaque mise à jour il faudra vérifier si les calculs se font bien et devrez éventuellement tirer vos formules sur les nouvelles lignes.
  • Les données sont recopiées dans le classeur et ce dernier s'alourdit.
  • Vous ne pouvez utiliser l'outil Tableau et tous ces avantages.

Depuis la version 2010, vous pouvez utiliser un nouvel outil Power Query. Celui-ci va récupérer le contenu du fichier, vous pourrez ensuite le transformer et surtout choisir de ne pas incorporer les données dans votre classeur.
Celui-ci ne contiendra alors que vos analyses avec Tableaux croisés dynamiqures, Graphiques croisés dynamiques et Power View depuis la version 2013.

Une Table de temps

Imprimer E-mail
18 décembre 2014

Avec Excel 2013 ou depuis la version 2010 avec Power Pivot, nous pouvons mettre 2 tables en relation. Nous pouvons donc mettre en relation un tableau Excel contenant un champ date avec un tableau de dates afin d'avoir quasi instantanément des infos sur l'année, le mois, le jour, la semaine, ...

Création de la table de temps

 Je pourrais vous donner le script de la fonction, mais ce sera plus pédagogique de voir comment le créer. Le but étant de créer une liste de dates entre 2 dates définies, commençons donc par créer un tableau, nommé Exemple, comprenant uniquement une date de début et une date de fin.

Transposer un tableau empilé

Imprimer E-mail
2 février 2015

Il arrive qu'après importation de données, on se retrouve avec non pas un tableau contenant les titres et les divers enregistrements situés dessous, mais un tableau d'une seule colonne comme celui de ce classeur.

Si nous avons peu de données comme dans ce classeur, le 1er geste est d'effectuer des copier-coller ou glisser-deplacer pour remettre sous forme d'un tableau bien ordonné. Mais si le nombre de données à repositionner est important cela devient franchement fastidieux. Je vous propose donc d'utiliser Power Query pour effectuer cette transposition.

Fonction Power Query

Imprimer E-mail
19 décembre 2014

Le langage M de Power Query permet d'écrire des scripts afin de gérer des requêtes. Il est possible d'écrire des fonctions en langage M pourvant être réutilisée sur d'autres requêtes. Par exemple : Calculer une distance en km entre 2 lieux, Extraire un certains nombre de caractère d'un champ, Concaténer 1 champ Nom et 1 champ Prénom.

Une fonctions si elle eststockée dans le catalogue de données d'un site SharePoint pourra ainsi être réutilisée à convenance.

Analyser votre Calendrier

Imprimer E-mail
17 décembre 2014

Power Query et Exchange

Avec Power Query vous pouvez vous connecter simplement à l'ensemble des données de votre compte Exchange :

  • Messages ;
  • Rendez-vous et Réunions ;
  • Contacts ;
  • Tâches.

Sur l'onglet Power Query, cliquez sur la commande A partir d'autres sources > A partir de Microsoft Exchange. Puis renseignez votre adresse de messagerie et son mot de passe.

Se connecter à un fichier texte

Imprimer E-mail
17 novembre 2014

Présentation du problème

J'ai plusieurs fichiers texte contenant des données de ventes (1 par magasin) et je veux établir un bilan de l'ensemble de ces magasins.

Chacun de ces fichiers comprend la date dans une colonne et les ventes des produits dans plusieurs colonnes (1 colonne par produit).

Fichier texte

Je dois donc :

  1. récupérer l'ensemble de ces fichiers ;
  2. les pivoter de colonnes en lignes ;
  3. les consolider afin de ne récupérer qu'un seul tableau.

Le meilleur outil est donc Power Query.

Langage Power Query dans Notepad++

Imprimer E-mail
17 novembre 2014

Power Query propose une fenêtre pour manipuler et transformer mes données simplement et intuitivement. Cet éditeur transforme vos actions en langage M et vous pouvez le visualiser ou l'écrire directement en affichage avancé. Mais cet éditeur ne met pas le code en couleur, comme le code VBA par exemple dans l'éditeur VB. Pour palier à cet inconvénient, vous pouvez utiliser Notepad ++

Installer le fichier de langue M dans Notepad ++

Le fichier et les explications viennent du site de Matt masson : http://www.mattmasson.com/2014/11/notepad-language-file-for-the-power-query-formula-language-m/

  • Téléchargez le fichier sur son OneDrive
  • Dans NotePad++, Ouvrez le menu Langage et cliquez sur Define your Language.
  • Cliquez sur le bouton Importer puis sélectionnez le fichier xml téléchargé.
  • Fermez NotePad++ et réouvrez-le.
  • Vous trouverez le langage M dans le menu Langage, sous Define your Language.

Vous obtiendrez ceci par exemple

Langage M de Power Query dans Notepad ++