Combiner plusieurs feuilles Excel sur Knime

combiner feuilles excel sur KNIM

 

Introduction :

Aujourd’hui, nous allons aborder un scénario particulier qui peut sembler ennuyeux mais qui devient facile à résoudre une fois que nous avons mis en place notre logique.

Supposons que vous devez analyser l’évolution des ventes d’une entreprise sur les trois dernières années.

L’historique de ces ventes se trouve sur un fichier Excel, regroupant au total 36 feuilles ( chaque feuille contient les ventes d’un mois donné pour une année donnée).

Afin de démarrer l’analyse, il faut donc regrouper nos différentes feuilles en une seule.

Le faire manuellement est une option mais lorsque le nombre de feuilles est élevé comme dans notre cas, il est plus judicieux de recourir aux fonctionnalités de Knime. Continuons !

 

Inputs :

Vous recevez ce fichier Excel afin de procéder à votre analyse.

Il comporte 36 feuilles regroupant les ventes du 01-2020 au 12-2022.

Comment procéder ?

Afin de combiner nos différentes feuilles, 4 étapes sont nécessaires :

  1. Fournir un fichier Excel contenant les feuilles/onglets que nous voulons combiner.
  2. Convertir les noms des feuilles Excel en variables et création d’une boucle.
  3. Lire la feuille correspondante à la variable actuelle.
  4. Conserver les données de la feuille qui vient d’être lue et passer à la variable suivante.
La boucle arrive à sa fin lorsque toutes les variables ont été parcourues.

Pas à pas :

Maintenant que nous ayons incorporé la logique derrière notre méthode, il est temps de construire notre workflow :

Etape 1 :

Double-cliquez sur le nœud Read Excel Sheet Names pour renseigner l’emplacement et le fichier avec lequel nous travaillons. Ce nœud aura 2 colonnes en sortie : Path ( emplacement de la feuille ) et Sheet ( noms de la feuille ).
C’est la colonne Sheet qui est importante car elle sera convertie en variable à l’étape suivante.

Etape 2 :

Configuration du nœud Table row to variable loop start :

La boîte verte est l’endroit où vous mettez les colonnes que vous voulez convertir en variable.

Dans notre cas, nous voulons extraire les données pour chaque nom de feuille dans le fichier. Nous avons donc besoin du nom de la feuille, ici Sheet, d’être dans la boite verte pour être la variable qui conduit la boucle. Maintenant que nous sommes configurés, nous pouvons exécuter ce nœud.

Etape 3 :

Maintenant, nous allons configurer le nœud Excel Reader.

Nous allons tout d’abord fournir le fichier dont nous voulons extraire les données, ensuite nous allons renseigner la variable qui contient les noms des feuilles que nous essayons de combiner. Pour ce faire, nous devons cliquer sur l’onglet Flow Variables.

Cliquez sur Settings puis sélectionnez sheet dans sheet_name comme ci-dessous :

Ici, l’option de nom de feuille du nœud est définie sur la variable que nous avons créé à l’étape précédente !
Nous récupérons les données du fichier X pour la feuille qui est actuellement définie dans la boucle.

Etape 4 :

Dernière, et plus simple étape, il s’agit ici de configurer le nœud Loop End selon vos préférences.

Pour ma part, je souhaite avoir de nouveaux numéros de ligne et je n’ai pas besoin de la colonne itération.

Résultat :

Maintenant que tous nos nœuds sont configurés, nous pouvons exécuter notre workflow.

Une fois la boucle finie, la table finale devrait être semblable à celle-ci:

Comme vous pouvez le voir, nous avons réussi à combiner toutes les données des différentes feuilles de notre fichier Excel !

Conclusion :

La transformation du nom des feuilles en variable et la création d’une boucle sont la solution lorsque vous vous retrouvez à travailler avec des données de la sorte, votre temps est trop précieux pour le passer sur des tâches répétitives et fastidieuses lorsque les fonctionnalités présentes sur Knime nous permettent de les automatiser!

Laissez un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.