Comment définir des connexions d'organigramme en CSV
Comment écrire les colonnes de texte Ligne vers et Ligne dans un fichier CSV : positions de ligne plutôt que noms d'étape, étiquettes de branche appariées par position, la virgule qui divise une étiquette en deux et ce que fait…
Dans un CSV, une connexion est une position de ligne dans la colonne Ligne à et son étiquette est l'entrée correspondante dans Texte de ligne : deux colonnes de texte brut appariées par position, sans identifiants ni guillemets pour les protéger.
En bref
- La ligne contient les positions de ligne de base 1, séparées par des virgules : "7,6,21".
- Le texte de la ligne contient les étiquettes des branches dans le même ordre, appariées par position.
- Une virgule à l’intérieur d’une étiquette de branche se lit comme une deuxième branche et les citations ne la sauvent pas.
- L'insertion ou la suppression d'une ligne renumérote chaque position en dessous.
- Un nombre inférieur à la ligne actuelle est un bord arrière légal et non une erreur.
Deux colonnes portent chaque flèche du fichier
Un CSV n'a aucun moyen d'exprimer un lien. Il s'agit d'une liste plate d'enregistrements avec un délimiteur entre les champs, et rien dans le format ne permet à un enregistrement de faire référence à un autre. Ainsi, un organigramme écrit au format CSV doit inventer la référence lui-même, et la convention de QueryChart est la plus simple disponible : la colonne Ligne vers contient la position de base 1 de la ligne que vous pointez, séparée par des virgules lorsqu'une étape mène à plusieurs endroits, et la colonne de texte Ligne contient les étiquettes de ces flèches dans le même ordre.
C'est tout le mécanisme. "5,4" dans Ligne pour dessiner deux flèches vers les cinquième et quatrième lignes de données du fichier ; "Oui, Non" dans le texte de la ligne met Oui sur le premier et Non sur le second. L'appariement est positionnel et non nominatif, ce qui signifie que les deux cellules doivent être maintenues étape par étape à la main et qu'aucune ne peut valider l'autre. Faites franchir la commande et le fichier est toujours importé, le graphique s'affiche toujours et il dit le contraire de ce que vous vouliez dire.
Les positions expliquent également pourquoi un CSV de connexions est fragile, contrairement à une feuille Excel contenant des formules. Il n'y a pas d'ancrage, pas de référence relative, pas de colonne ID faisant le travail. Insérez une ligne au milieu de l'exportation et chaque position en dessous se décale d'une unité, tandis que chaque ligne vers la cellule au-dessus continue de pointer vers l'ancien numéro. Si vos lignes proviennent d'un système qui les réorganise, lisez /fr/guides/comment-structurer-un-fichier-csv-pour-les-organigrammes avant d'écrire une seule ligne dans la valeur, car l'ordre des lignes est le schéma.
L'exemple ci-dessous est un arbre de décision d'éligibilité au remboursement : 25 lignes, dont quatre bifurquent dans trois directions, dont une pointe vers l'arrière. C’est la forme que l’on obtient lorsqu’une véritable politique d’arbitrage est écrite sous forme de fichier plutôt que dessinée. Ouvrez le panneau de feuille de calcul sous le canevas et lisez la colonne Ligne vers en regard des flèches, ou ouvrez /fr/templates/modele-d-arbre-de-decision-csv-eligibilite-au-remboursement et modifiez directement les cellules.
Comment cela fonctionne
Corrigez l'ordre des lignes avant d'écrire des positions
La ligne vers fait référence aux positions dans le fichier, donc l'ordre du fichier est porteur. Triez l’export une fois, exactement comme vous le souhaitez, et arrêtez de le trier. Si les lignes proviennent d'un système qui réorganise chaque extrait, congelez-les d'abord dans une copie de travail, sinon les nombres que vous écrivez aujourd'hui aborderont des étapes différentes demain.
Numérotez les lignes de données en commençant à 1 sous l'en-tête
La ligne d'en-tête n'est pas une ligne de données et ne compte pas. La première étape du fichier est la position 1, la suivante est la 2, et ainsi de suite. Mettez ces chiffres dans une colonne de travail pendant que vous travaillez ; l'importateur n'en a pas besoin, mais vous en avez besoin, car vous vous apprêtez à taper à la main une vingtaine de références.
Écrivez d'abord les étapes à successeur unique
Parcourez le fichier de haut en bas et attribuez à chaque étape directe un numéro dans Ligne vers. C'est rapide, il est difficile de se tromper et cela ne laisse que les fourches à réfléchir. Laissez la cellule vide à une étape qui met véritablement fin au processus : une ligne vide vers est ce qui constitue un terminal de ligne.
Écrivez les fourchettes sous forme de positions séparées par des virgules
Sur chaque décision, mettez chaque destination dans une seule cellule : 7,6,21 signifie trois sorties. Les espaces autour des virgules sont coupés, donc "7, 6, 21" convient. Ce qui compte, c'est la séquence, car vous êtes sur le point d'écrire une deuxième liste qui doit s'aligner entrée pour entrée.
Écrivez le texte de la ligne dans le même ordre
Pour une ligne jusqu'à 7,6,21, écrivez le texte de la ligne comme suit : Dans les 30 jours, 31 à 90 jours, Plus de 90 jours. Lisez-les par paires avant de continuer : première position avec la première étiquette, seconde avec la seconde. Rien ne vérifie cela pour vous, et une paire croisée produit un graphique qui est vraisemblablement faux avec confiance.
Déposez le fichier et relisez les flèches
Déposez le fichier .csv dans la zone de feuille de calcul d'un nouveau graphique ou collez-y le texte : il n'y a pas d'assistant d'importation ni d'étape de mappage de colonnes, car les noms d'en-tête correspondent directement. Tracez ensuite deux ou trois branches sur la toile en regard de la politique. Les positions hors de portée et les sorties sans étiquette apparaissent immédiatement à cette taille.
Erreurs à éviter
Une virgule à l'intérieur d'une étiquette de branche
Le texte de la ligne est divisé en virgules une fois que l'analyseur CSV a déjà mis le champ sans guillemets, donc « Oui, avec l'approbation du superviseur » devient deux branches : « Oui » et « avec l'approbation du superviseur ». Mettre la cellule entre guillemets n'aide pas, car la citation a été consommée par la couche CSV et la division se produit ensuite. Écrivez l'étiquette sans la virgule : « Oui avec l'approbation du superviseur » ou un tiret.
Insérer une ligne et ne pas renuméroter
Les positions sont absolues, donc l'ajout d'une étape au milieu décale chaque ligne en dessous d'une unité tandis que chaque ligne vers la valeur existante continue de pointer vers l'ancien numéro. Le graphique s'affiche toujours ; les flèches atterrissent juste un pas plus tôt. Ajoutez de nouvelles étapes à la fin du fichier où elles ne renumérotent rien, ou renumérotez délibérément et relisez toute la colonne.
Deux listes de longueurs différentes
Trois positions et deux étiquettes laissent la troisième flèche sans étiquette ; deux positions et trois étiquettes suppriment le surplus. Aucun des deux ne soulève quoi que ce soit. Comptez les virgules dans les deux cellules chaque fois qu'une décision a plus de deux sorties : cet arbre a quatre lignes qui bifurquent dans trois directions, et c'est là que cela se produit.
Supposer qu'un numéro en arrière est une faute de frappe
Une ligne vers une valeur inférieure à la ligne sur laquelle elle se trouve dessine une flèche vers le haut du graphique, et c'est une boucle normale : un chemin de retravail, une resoumission, un calcul partagé atteint dans deux directions. « Remplacement ou remboursement ? » pointer vers 12 dans l’exemple en est un. Ne les nettoyez pas à vue ; voir /fr/guides/comment-creer-un-organigramme-a-partir-de-csv pour savoir à quoi ressemble le fichier fini.
Questions fréquentes
Pourquoi des positions de ligne au lieu d'une colonne d'ID ?
Parce qu'un CSV provenant d'un autre système dispose rarement d'une clé stable que vous pouvez utiliser, et celles dont il dispose sont généralement des identifiants d'enregistrement plutôt que des identifiants d'étape. La position de la ligne est toujours disponible, toujours unique et ne nécessite aucun accord avec celui qui a produit l'exportation. Le coût est que la position n'a de sens que tant que l'ordre est maintenu, c'est pourquoi l'ordre des lignes est plus important dans un organigramme CSV que dans tout autre format.
Dois-je compter la ligne d’en-tête lorsque je numérote les positions ?
Non. La position 1 est la première ligne de données, immédiatement en dessous de l'en-tête. Cela fait trébucher les gens lorsqu'ils lisent des positions sur une feuille de calcul, où l'en-tête est la ligne 1 et la première étape est la ligne 2, tout est décalé d'un par rapport au fichier. Si les flèches atterrissent toutes un pas plus tôt, c'est généralement la raison.
Un pas peut-il pointer vers plus de deux lignes ?
Oui, et les arbres de décision le font régulièrement. Dans l'exemple « Dans quel état se trouve l'article ? » a trois sorties et « Le superviseur approuve le paiement ? » en a trois, dont un est un rejet. Placez toutes les positions dans une cellule, séparées par des virgules, et le même nombre d'étiquettes dans le texte de la ligne. Il n’y a aucune limite qui compte dans la pratique ; la lisibilité cède bien avant le format.
Que se passe-t-il si Line to nomme une ligne qui n'existe pas ?
La connexion est interrompue et rien n'est signalé. Une position après la fin du fichier, une gauche vide là où un nombre devrait se trouver, ou un nombre restant d'une version de l'exportation contenant plus de lignes produisent tous le même résultat : une flèche qui n'est tout simplement pas là. C'est le mode d'échec à vérifier après toute modification de la longueur du fichier. Voir /csv-to-flowchart pour l'aller-retour complet.
Puis-je utiliser le nom de l'étape dans Line to au lieu d'un numéro ?
Non : la colonne est lue comme des positions. Les noms seraient également ambigus dans la plupart des fichiers réels : cet arbre comporte deux lignes qui se terminent toutes deux par « approuve » et plusieurs qui se lisent comme des variantes de la même question. Un nombre est sans ambiguïté par construction, c'est la raison pour laquelle l'identité est positionnelle et non textuelle.