Le complément JSON Parser doit-il être disponible dans l'environnement JMP-Live pour fonctionner sur un rapport publié ?Nous avons récemment créé du code JSL pour collecter des données à partir d'un appel d'API REST. J'utilise actuellement la version 18.01 de JMP.
Notre développeur d'applications a créé un scénario dans lequel, pour un service de fabrication spécifique, nous collectons les données par blocs mensuels afin de réduire les tâches fastidieuses. Nous couvrons 24 mois de données à partir d'aujourd'hui. Nous combinons ensuite les données de chaque mois dans un tableau de données, puis effectuons notre analyse sur ce tableau complet.
Nous prévoyons de publier ce rapport sur JMP-Live, et c'est là que réside notre problème. J'ai effectué une publication rapide sur JMP-Live en utilisant l'appel d'API REST, mais elle n'a pas pu s'exécuter. Je pense que cela est dû au module complémentaire d'analyse JSON que nous avons chargé dans JMP.
Selon le code ci-dessous, vous pouvez voir 2 lignes critiques où le complément JSON Parser entre en jeu...
// Analyser JSON et créer la table
json = JSON:Parse(résultat);
tempDT = JSON:Créer une table(json);
Peut-être existe-t-il une meilleure façon d’atteindre nos résultats finaux, ou devons-nous rendre le module complémentaire JSON Parser disponible dans l’environnement JMP-Live ?
Cordialement,
John
Names Default To Here(1);
// Create empty Combined Results table
finalTable = New Table("Combined Results");
// Loop through month offsets
For(month = 1, month <= 24, month++,
Try(
// Build and send request
request_url = "https://XXXX-XXX.XXXXXXX.net/XXXX/api/xX.X.X./XXX/dept/dt/month_offset/" || Char(month) || "/met_test_results" ;
result = New HTTP Request(URL(request_url), Method("GET")) << Send;
// Parse JSON and build table
json = JSON:Parse(result);
tempDT = JSON:Make Table(json);
// Append only if rows exist
If(NRow(tempDT) > 0,
// Add MonthOffset column
tempDT << New Column("MonthOffset", Numeric, Set Each Value(month));
// Append to final table
finalTable << Concatenate(tempDT, Append to First Table);
Write("Month " || Char(month) || ": Data added to Combined Results.\n");
,
Write("Month " || Char(month) || ": No data returned — skipping.\n");
);
// Always close the temp table
Close(tempDT, NoSave);
,
Write("Skipping month offset " || Char(month) || " due to error or bad response.\n");
);
Wait (0.25) ;
);
// Show final table if it has any rows
If(NRow(finalTable) > 0,
finalTable << Set Name("Combined Results");
finalTable << Show Window,
New Window("No Data", Text Box("No valid data returned from selected months."))
);
// Assuming finalTable is already your active data table
dt = finalTable;Automatisation et scriptsPartage et communication des résultatsRe : Le module complémentaire JSON Parser doit-il être disponible dans l'environnement JMP-Live pour fonctionner sur un rapport publié ?Avez-vous regardé JSON vers Data Table() ?
result = "\[[
{
"name" : "KATIE",
"age" : 12,
"sex" : "F",
"height" : 59,
"weight" : 95
},
{
"name" : "LOUISE",
"age" : 12,
"sex" : "F",
"height" : 61,
"weight" : 123
},
{
"name" : "LAWRENCE",
"age" : 17,
"sex" : "M",
"height" : 70,
"weight" : 172
}
]]\";
dt = JSON to Data Table( result );

Re : Le module complémentaire JSON Parser doit-il être disponible dans l'environnement JMP-Live pour fonctionner sur un rapport publié ?Cette suggestion a très bien fonctionné dans l'application de bureau JMP, merci pour votre aide.
Cependant, l'actualisation avec le même script que l'application de bureau dans l'environnement JMP-Live a échoué. Il reste malheureusement encore du travail à faire !