Essayer de faire en sorte que Graph Builder trace automatiquement les données à partir d'une requête de table de données filtréeBonjour à tous,
Utilisateur JMP 16 ici. J'ai un complément qui extrait les données d'une base de données de travail et crée une table. Dans le fichier particulier qui m'intéresse, il y a des données remontant à 20 ans, mais je veux uniquement des données des 6 derniers mois.
J'ai réussi à créer une requête qui filtre les données de la table source et les place dans une nouvelle table de sous-ensemble. La requête filtre en fonction de n'importe quelle plage de dates que j'ai définie, le filtre étant configuré pour demander une entrée chaque fois que le script est exécuté, comme dans l'image ci-dessous.

La requête fait son travail et me donne les données de la plage de dates qui m'intéresse. J'ai réussi à faire fonctionner le script comme suit - entrée de la base de données source -> table source de requête et filtre basé sur la plage de dates -> ouvrez une nouvelle table avec de nouvelles données.

Ce que je veux ensuite, c'est tracer les nouvelles données dans le générateur de graphiques. J'aimerais que ce tracé s'affiche et se remplisse automatiquement chaque fois que j'exécute le script avec les données de la plage de dates que j'ai choisie. J'ai essayé de copier le script de création de graphiques dans ChemicalUsageQuery comme dans l'image ci-dessus, mais lorsque je l'exécute, soit il ne se remplit pas, soit il se remplit avec les données de la table de base de données source d'origine et les dates sont modifiées en 1904.
J'aimerais que le script s'exécute, me demande une plage de dates, ouvre une nouvelle table de sous-ensemble, puis représente automatiquement les données. Toute aide serait très appréciée.
Merci,
Accès aux donnéesRe : Essayer d'avoir Graph Builder tracer automatiquement les données de la requête de table de données filtréesVous pouvez essayer d'utiliser le sous-ensemble :
Names default to here(1);
dt1 = Open("$Sample_data/big class.jmp");
//By selecting rows:
dt1 << Select Where(:age == 12);
dt2 = dt1 << Subset(
Selected Rows( 1 ),
Selected columns only( 0 )
);
//Or, by row numbers:
rowstokeep = dt1 << Get Rows Where(:age == 12);
dt3 = dt1 << Subset(
Selected Rows( 0 ),
Rows( rowstokeep ),
Selected columns only( 0 )
);Re : Essayer d'avoir Graph Builder tracer automatiquement les données de la requête de table de données filtréesRebonjour,
J'ai essayé d'ajouter des fonctionnalités au script ci-dessus. J'ai actuellement une zone de texte qui s'ouvre et invite l'utilisateur à saisir des dates et une zone de liste de contrôle qui demande les produits chimiques qu'il souhaite voir. Ainsi, le script trace uniquement les données du produit chimique sélectionné par l'utilisateur pour une plage de dates donnée.
La table de données appelée "dt" s'ouvre. Ce que je veux, c'est obtenir les lignes sélectionnées par l'utilisateur situées dans la liste "lt" et les placer dans une nouvelle table de données appelée "dt2". Je souhaite que dt2 soit mis à jour à chaque itération de la boucle avec les nouvelles données correspondant à lt[i].
For ( i = 1, i <= N Items(lt), i++,
dt << Select Where(:chemical == lt[i] );
dt2 = New Table("mytest", dt << Get Selected Rows);
);Le script ci-dessus sélectionne les lignes, mais ouvre un dt2 vide.
Toute aide est appréciée. Merci!
Re : Essayer d'avoir Graph Builder tracer automatiquement les données de la requête de table de données filtréesMerci beaucoup. Ça a marché.
Re : Essayer d'avoir Graph Builder tracer automatiquement les données de la requête de table de données filtréesJe pense qu'il vous suffit d'enregistrer une référence à la nouvelle table lorsque vous l'ouvrez, puis d'envoyer le script de création de graphes à cette référence. Le simple fait d'exécuter Graph Builder() l'exécutera sur la table de données actuelle, qui n'est peut-être pas celle que vous souhaitez.Par exemple, notez le rôle de dt2 dans ce script :
Names default to here(1);
dt1 = Open("$Sample_data/big class.jmp");
dt2 = New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
Associative Array({{dt1 << Get Name, "_MEMORY_"}})
),
QueryName( "SQLQuery1" ),
Select(
Column(
"height",
"t1",
Alias( "Average-height" ),
SavedJMPName( "height" ),
Aggregation( "Average" )
),
Column(
"age",
"t1",
Analysis Type( "Ordinal" ),
Numeric Format( "Fixed Dec", "0", "NO", "" )
)
),
From( Table( "big class", Alias( "t1" ) ) ),
Group By(
Column(
"age",
"t1",
Analysis Type( "Ordinal" ),
Numeric Format( "Fixed Dec", "0", "NO", "" )
)
)
) << Run;
dt2 << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :"Average-height"n ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);