Exploiter des données peu structurées

Proposé par André Meyer

5 mars 2020

Data club

fichier texte

Restez à l'écoute, abonnez-vous à la newsletter (2 fois / mois)

2 + 10 =

Exploiter des données peu structurées

Scénario

C’est un exemple malheureusement d’actualité, puisqu’il s’agit des données de propagation du nouveau coronavirus (n’y voyez pas là d’intention macabre, c’est juste que je travaille sur un tableau de suivi de la progression du virus).

Les données sont récupérées dans un fichier texte dont voici les premières lignes :

Les champs vont par trois : le pays / le nombre de cas confirmés / le nombre de décès. Mais nous voyons tout de suite le problème pour exploiter ces données : au lieu d’être réparties sur trois colonnes, elles sont « aplaties » sur une seule. Il va donc falloir faire jouer Power Query et remettre ces données dans un format utilisable.

Il y a au moins deux façons de faire : une pincée de M ou l’interface utilisateur. J’ai choisi la seconde option, en me servant de la fonction MODULO, de colonnes conditionnelles, et de filtres.

Intégration des données « aplaties »

L’aperçu confirme la première impression, il va falloir transformer les données :

Pour commencer, j’ai ajouté une colonne d’index :

Comme je le disais plus haut, les lignes vont par trois : il doit donc être possible d’identifier les lignes contenant les pays, les cas confirmés, et les décès, et d’une manière ou d’une autre, les séparer.

La fonction magique, ici, c’est MODULO. Elle se cache dans l’onglet Ajouter une colonne, menu Standard :

La colonne Index étant sélectionnée, je vais indiquer la valeur du modulo, à savoir 3, pour insérer une nouvelle colonne :

Chaque ligne mentionnant un pays est marquée « 1 », les cas confirmés, « 2 », et les décès « 0 ».

La suite des opérations consiste à ajouter des colonnes conditionnelles et à filtrer. Commençons par les pays : je vais créer une colonne « Pays » qui contient le nom du pays si la colonne Modulo est égale à 1 :

Il faut ensuite que je répète cette valeur sur chaque ligne (onglet Transformer, puis Remplir vers le bas), pour avoir le pays « en face » des cas confirmés :

Je peux maintenant filtrer les lignes où Modulo est égal à 1 :

Et je répète l’opération pour Modulo égal 2, à savoir ajout de la colonne conditionnelle, remplir vers le bas, filtrer les lignes où Modulo égal 2 :

Il ne me reste qu’à supprimer les colonnes Index et Modulo, affecter le bon type (Texte, Entier) et renommer la dernière colonne « Décès ». Le tour est joué (par le clic-droit, il est possible de déplacer la colonne à la fin) :

Articles associés :

Un choix parmi les nouveautés de février 2020

Un choix parmi les nouveautés de février 2020

Janvier est un mois de relâche, ou plus précisément, pas de nouveautés pour Power BI Desktop, l’accent étant mis sur Power BI Server. Nous attendions donc avec impatience Février ! Voici mon choix de trois nouvelles fonctionnalités, dont la très attendue actualisation incrémentielle et le non moins attendu filtre hiérarchique

Intégrer un tableau croisé complexe

Intégrer un tableau croisé complexe

Il n’est pas rare d’avoir à intégrer dans Power BI un tableau croisé dont les en-têtes de colonnes ou de lignes présentent une structure complexe, par exemple des champs fusionnés, des totaux ou des en-têtes sur plusieurs lignes. Voici comment s’y prendre pour décroiser ce type de structure.

La création de la colonne Semaine : quelle norme ?

La création de la colonne Semaine : quelle norme ?

Le calcul de la semaine s’avère plus complexe qu’il n’y paraît : deux normes co-existent, et celle que nous utilisons en Europe (considérée comme universelle) – la norme ISO 8601 – n’est pas celle que Power BI utilise par défaut. Détails, calculs et une pépite non-documentée dans le billet.