Création et mise à jour d'une nouvelle feuille de calcul de lignes à partir d'une ancienne feuille de calcul contenant une valeur spécifiqueBonjour la communauté JMP,
JMP et JSL étant très novice, j'ai du mal à effectuer ces deux tâches connexes.
1) J'aimerais écrire un script qui crée une nouvelle feuille de calcul à partir de lignes d'une ancienne feuille de calcul contenant une entité spécifique. Par exemple, j'aimerais créer un script qui crée un nouveau tableau de données de toutes les lignes d'hommes. (Voir les images ci-dessous)
2) Je dois pouvoir mettre à jour automatiquement ce tableau de données. En supposant que la table complète se trouve sur une base de données locale (comme sur SSMS), comment puis-je utiliser un script JMP pour mettre à jour la table de tous les hommes à partir d'une base de données SQL locale? J'ai essayé d'ajouter sur le script "Update db" généré automatiquement, mais je n'ai aucune idée de ce que je fais. Toute aide serait très appréciée.
Merci beaucoup à la communauté JMP.



Re: Créer et mettre à jour une nouvelle feuille de calcul à partir de lignes d'une ancienne feuille de calcul contenant une valeur spécifique @jmpandvba ,
Dans l'exemple que vous avez fourni:
NewHt=dt<<SUBSET></SUBSET>
veuillez noter que NewHt fait référence à votre table de données. Ainsi, dans votre instruction de mise à jour, vous transmettez la référence à la table de données que vous souhaitez annexer. Dans l'exemple de script que j'ai fourni, cela "dt1"
Re: Créer et mettre à jour une nouvelle feuille de calcul à partir de lignes d'une ancienne feuille de calcul contenant une valeur spécifiqueDernière mise à jour de ce fil,
Après avoir créé cette nouvelle table de données du sous-ensemble, comment puis-je écrire un script JSL pour le mettre à jour si le fichier d'origine est ajouté?
Je suppose que l’on utilise la fonction "Mise à jour" de JSL décrite à la page 177 du guide de rédaction de scripts JMP:
NewHt=dt<<SUBSET></SUBSET>
Mais comment puis-je faire cela avec le sous-ensemble spécifique que nous venons de créer?
Re: Créer et mettre à jour une nouvelle feuille de calcul à partir de lignes d'une ancienne feuille de calcul contenant une valeur spécifique @jmpandvba ,
//Clean up
Clear Log(); Clear Globals(); Close All(DataTables,"No Save");
// Open Sample Data
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Subset based on condition
dt << Select Where(:Sex == "M");
// Select some columns
Column(dt,"age")<< Set Selected(1);
dt << Invert Column Selection;
dt1 = dt << Subset(Selected Rows(1),Selected Columns(1));
dt1 << Set Name("Boys In Class");
// Save as spreadsheet
Close(dt1,Save("C:\Test.xlsx")); Re: Créer et mettre à jour une nouvelle feuille de calcul à partir de lignes d'une ancienne feuille de calcul contenant une valeur spécifiqueMerci pour votre réponse rapide! Une autre question rapide, si je voulais créer un sous-ensemble de toutes les colonnes sauf l'âge, comment ferais-je? (Je pense que j'écris quelque chose comme ceci dans la ligne de script, mais que trouve-t-on dans la parenthèse des colonnes?)
subdt = dt << Subset(Column(..........), Output Table Name( "Male summary" ) );
Re: Créer et mettre à jour une nouvelle feuille de calcul à partir de lignes d'une ancienne feuille de calcul contenant une valeur spécifique @jmpandvba ,
Il est facile de répondre à une partie de votre question. Si vous disposiez de données dans JMP, vous pouvez facilement créer un nouveau tableau de données ou une nouvelle feuille de calcul, comme indiqué ci-dessous.
//Clean up
Clear Log(); Clear Globals(); Close All(DataTables,"No Save");
// Open Sample Data
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Subset based on condition
dt << Select Where(:Sex == "M");
dt1 = dt << Subset("");
dt1 << Set Name("Boys In Class");
// Save as spreadsheet
Close(dt1,Save("C:\Test.xlsx"));
Pour ce qui est de la mise à jour automatique de la table de données, cela nécessiterait une exécution par lots / planifiée de votre script JMP. À une heure de la journée donnée, si vous pouvez faire en sorte qu'une application appelle votre script JMP et l'exécute, vous pourrez le réaliser. Vous pouvez consulter des exemples d'automatisation CMP ou VBA de JMP pour des idées. (Z: \ Program Files \ SAS \ JMP \ 14 \ Samples \ Automation)