Erreur inattendue pendant le scriptBonjour,
J'écris un script pour déconvoluer un fichier json.
Une fois dans jmp, le tableau résultant est composé de groupes de colonnes étiquetées telles que study.xyz, study.cro, groups.xyz, groups.id, test.xyz, test.name,...
J'essaie de créer une série de tableaux pour chacun des groupes tels que étude/groupes/test.
J'ai un script qui fait cela bien lorsque chaque sous-ensemble est géré séparément, mais pour certaines raisons, il arrête de créer la table de sous-ensemble lorsqu'il passe au groupe suivant.
Je peux me déplacer dans l'ordre dans lequel ces groupes sont traités et le premier groupe à être « sous-divisé » pour ainsi dire.
En d'autres termes, si j'essaie d'abord de sous-ensembler « étude », alors « groupes » ne sont pas traités.
Si je déplace la partie de script dédiée aux « groupes » en première position, elle est traitée, mais pas « étude ».
Je suis déconcerté. Toutes les suggestions seraient grandement appréciées.
Meilleur,
Sébastien
try(data table("P0_json")<<CLOSE window=""></CLOSE>Voici les scripts :
Automatisation et scriptsMélange et nettoyage des donnéesPersonnalisation de masseIngénierie Qualité et ProcédésRe : Erreur inattendue lors du scriptEnregistrez le script depuis l'assistant.
Re : Erreur inattendue lors du scriptCela pourrait aussi être une solution, mais j'utilisais le script pour éviter que l'utilisateur passe par l'assistant.
Merci beaucoup pour l'explication détaillée,
SébastienRe : Erreur inattendue lors du scriptFantastique. Merci pour les commentaires. Je n'avais pas envisagé cette approche.
Meilleur,
SébastienRe : Erreur inattendue lors du script@Thierry_S a déjà répondu à votre question initiale. Voici une réponse différente qui pourrait éviter d'écrire du JSL.
Vous pouvez utiliser l'assistant JSON pour obtenir les tables dont vous avez besoin, en supposant que vos données soient similaires à celles-ci :
One way to represent your data in JSONOne way to represent your data in JSONUne façon de représenter vos données en JSON
Ouvrir dans l'assistant :
Guess and stack to get the first viewGuess and stack to get the first viewDevinez et empilez pour obtenir la première vue
Pensez à empiler !
Choose what JSON tags generate rows in the JMP tableChoose what JSON tags generate rows in the JMP tableChoisissez quelles balises JSON génèrent des lignes dans la table JMP
Explication : L'assistant lit le texte JSON et recherche les balises. Balises vérifiées comme rangée provoquer l'ajout d'une ligne au tableau. Balises vérifiées comme col ajouter des colonnes.
Nœud montre l'imbrication du texte dans le JSON.
Select the columns you don't want (easy on the column headers at the bottom) then pick No ColumnSelect the columns you don't want (easy on the column headers at the bottom) then pick No ColumnSélectionnez les colonnes dont vous ne voulez pas (facile sur les en-têtes de colonnes en bas), puis choisissez Aucune colonne
Vous pouvez sélectionner des colonnes dans l'aperçu du tableau, ou les faire une par une dans l'interface graphique au-dessus de l'aperçu, ou les sélectionner dans l'aperçu. nœud arbre. L'option Aucune colonne est appliquée à toutes les colonnes sélectionnées.
At this point you might also uncheck Groups as a row generator. I forgot, and it made no difference this time. Depends on the JSON organization.At this point you might also uncheck Groups as a row generator. I forgot, and it made no difference this time. Depends on the JSON organization.À ce stade, vous pouvez également décocher Groupes en tant que générateur de lignes. J'ai oublié, et cela n'a fait aucune différence cette fois. Dépend de l'organisation JSON.
Cliquez sur OK
The resulting table's Source script can be re-run to open the table againThe resulting table's Source script can be re-run to open the table againLe script Source de la table résultante peut être réexécuté pour ouvrir à nouveau la table
Répétez pour l'autre table
Repeat the process to get the other table. Uncheck the study row to remove a blank row from the JMP table.Repeat the process to get the other table. Uncheck the study row to remove a blank row from the JMP table.Répétez le processus pour obtenir l’autre table. Décochez la ligne d'étude pour supprimer une ligne vide de la table JMP.
Le JSON que j'ai utilisé est joint, le vôtre est probablement un peu différent, donc les étapes peuvent être un peu différentes. Vous pouvez également renommer les colonnes (champ Nom de la colonne) mais je pense qu'elles correspondent déjà à ce que vous souhaitez.
Re : Erreur inattendue lors du scriptRe-bonjour,
Il y a quelques commentaires qui n'ont plus de sens, veuillez ne pas en tenir compte.
Meilleur,
TSRe : Erreur inattendue lors du scriptSalut,
J'ai pris un peu de temps pour déboguer mais le principal problème est que vous ne pointiez pas vers la table d'origine après le premier sous-ensemble. De plus, vous avez fait référence à une colonne en utilisant votre variable Col_List, ce qui peut créer des résultats étranges : je remplace ces appels par la "Colonne (, )" plus standard.
Voici le script mis à jour
Names default to Here (1);
try(data table("P0_json")<<CLOSE window=""></CLOSE>