Table de correspondance

Bonjour à tous,

Comment peut on faire une table de correspondance avec n8n ?

Voici un exemple :
Mon signifie Lundi
Thu signifie Mardi
Wed signifie Mercredi

…Une idée ?

1 « J'aime »

J’ai posé cette question sur le slack de NoCode France mais pour faire avancer cette nouvelle communauté, je vais retracé et commentés les idées proposées par des personnes qui se trouvent également sur ce forum.
Ces commentaires n’engage que moi :slight_smile:

1ère solution : Le noeud functionItem Merci @Jérémy
Avantages :

  1. Personnalisation de la table de correspondance. Suite à la transformation de la table de correspondance, on pourra retourner aussi bien du texte, des chiffres ou des données complexes au formation JSON.

Inconvénients :

  1. Demande des compétences en code et des connaissances en algorithme. Pour des développeurs, ce n’est pas un problème en soit mais pour un outil sensé être NoCode, ce n’est pas top.

Je viens de m’apercevoir que l’équipe de n8n ne parle absolument pas de NoCode sur leur site. Intéressant :slight_smile:

  1. Si la table de correspondance doit évoluer, s’enrichir, … on doit forcement revenir sur n8n pour modifier le workflow le code de ce noeud functionItem.

2ème solution : externaliser la table de correspondance Merci @Augustin
Par exemple, utiliser un noeud GoogleSheet qui contiendra la table de correspondance et ainsi récupérer le résultat attendu.

Avantages :

  1. Assez simple à implémenter sans coder

  2. Facile à faire évoluer dans le temps car il suffit de modifier ce sheet pour faire évoluer le process global.

Inconvénients :

  1. Cela parait tout bête de faire une table de correspondance et l’on en a besoin assez souvent pour matcher plusieurs outils. Mais là ça demanderai d’avoir des GoogleSheet qui trainent un peu partout et perso je n’aime pas trop ça. Les worflows et leurs dépendances risquent d’être compliqué à maintenir dans le temps.

  2. Cela prend du temps d’exécution, de se connecter, de chercher et de récupérer les données à un service externe (GoogleSheet ou autre) pour récupérer une petite information, même importante.

Pour la petite anecdote, j’ai réussi à mettre n8n à genoux à cause d’un script trop long car il a reçu trop de demandes, trop rapidement et mon worflow n’était pas optimiser. D’ailleurs mon installation de n8n n’était pas non plus optimiser. C’est un autre problème :slight_smile:

Ma solution
J’ai opté pour une adaptation de la seconde solution proposée par @augustin.
En fait mon objectif était de pousser une information vers Coda. Donc au lieu de mettre dans la table Coda la valeur attendu, j’ai poussé ma valeur brute dans une colonne intermédiaire SourceKey.
Ensuite, j’ai utilisé une formule Coda pour remplir la bonne valeur à partir de cette colonne intermédiaire.
De cette manière si je dois rajouter de nouvelles valeurs, je n’aurais pas à retourner sur n8n.

2 « J'aime »

Super @vanitom !
Il existe éventuellement une autre solution permettant de combiner flexibilité et rapidité d’exécution : enregistrer les données dans un fichier stocké sur un serveur, puis lire ce fichier via un nœud SpreadSheet file pour obtenir les correspondances.

Ca demande de nouvelles compétences mais ça peut être un challenge quand tu auras envie de faire évoluer la solution :wink:
La question reste de savoir si le gain de temps est vraiment effectif …

Merci @mumudu22 pour cette précision.

Effectivement je n’avais pas penser à utiliser un fichier en local. Ce serait effectivement plus rapide.

Par contre je ne sais comment ça fonctionne pour la persistance des données en local. Mais la c’est plus un sujet de déploiement et d’hébergement de N8N. D’allleurs je ne sais pas comment ça fonctionne avec l’offre Cloud.