Comment mettre à jour le tableau après le tri ?Bonjour tout le monde,
J'ai un problème concernant le tri d'une table. Je voulais trier le tableau par date (situé dans la colonne Date1) et je le fais une fois que certaines conditions sont remplies. Cependant, il ne trie pas et ne remplace pas le tableau EL_summary après tri. Y a-t-il un rafraichissement nécessaire ? J'ai mis aussi du retard, je pensais qu'il fallait attendre un peu. Quand je n'utilise pas remplacer le tableau(1), la nouvelle table sous un nom différent est créée et ouverte (ce que je ne veux pas) et encore une fois, les données de cette table ne sont pas triées. Après cela, cependant, les données dans EL_summary semble être mis à jour et trié. J'apprécierais de pointer ce qui me manque. Cordialement
Table de données actuelle ( EL_summary );
if( N rows(EL_summary) > 0, EL_summary << sort(by(:name("Date1")), Order( Ascending ), replace table(1)));
attendre(1);
Re : Comment mettre à jour le tableau après le tri ?Salut, quelle est la manière officielle de trier une table de données via JSL avec l'option RemplacerTable() ?
Comme indiqué précédemment, s'il y a des rapports ouverts, le script se bloque avec le message d'erreur :

... même si le graphique ne dépend pas de l'ordre dans la table de données :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
dt<< Sort( By( :height ), Replace Table, Order( Ascending ));
Que diriez-vous de remplacer le texte par quelque chose comme :
Malheureusement, dans la version actuelle de Jmp, il n'est pas possible de trier un tableau avec des rapports ouverts.
Jmp ne peut pas remplacer la table existante car il y a une chance... hm, vous savez, les fenêtres de rapport peuvent dépendre de la commande précédente. Malheureusement, il n'y a pas d'option pour vérifier cela - et il n'y a pas d'option pour l'ignorer. Le script s'arrêtera donc ici.

Re : Comment mettre à jour le tableau après le tri ?Ok, j'arrive à cacher la nouvelle table de données. Cette table de données était la table de données actuelle, j'ai donc désactivé sa visibilité en utilisant
Current Data Table() << ShowWindow( 0 );
Merci à tous pour votre soutien. Cordialement.
Re : Comment mettre à jour le tableau après le tri ?Vous pouvez gérer cela de différentes manières.
La sortie qui empêche le tri de la table de données peut être déplacée vers un journal pour être affichée, et l'affichage d'origine peut ensuite être supprimé, ce qui permettra au tri d'avoir lieu.
Vous pouvez également créer une nouvelle table de données qui est soit invisible, soit privée, ce qui empêchera l'affichage de la nouvelle table de données.Recherchez les options Invisible ou Private dans le sous-ensemble de la table de données dans l'index de script.
Re : Comment mettre à jour le tableau après le tri ?Bonjour, merci pour les suggestions !
J'ai créé une interface graphique et le tri doit être effectué après avoir sélectionné un élément dans la zone de liste. Après cela, certaines images doivent être affichées dans cette interface graphique dans l'ordre basé sur les valeurs triées. En fait, JMP ne fournit aucune information de journal utile indiquant la source du problème. Existe-t-il un moyen de masquer ou de rendre invisible la nouvelle table de données (et indésirable) créée après le tri ? Ce serait une solution de contournement.
Re : Comment mettre à jour le tableau après le tri ?Salut,
Ce code s'est exécuté comme prévu lorsqu'aucun graphique n'est ouvert :
Untitled = data table("Untitled.jmp");
if( N rows(Untitled) > 0, Untitled << sort(by(:name("Column 1")), Order( Ascending ), replace table(1)));
Mais le tri ne fonctionne pas si vous avez des graphiques ouverts,
Untitled <<DISTRIBUTION> 0, Untitled << sort(by(:name("Column 1")), Order( Descending ), replace table(1)));
</DISTRIBUTION>
Regardez le fichier journal et nous voyons:
JMP cannot replace the existing table because there are report windows that depend on the previous ordering.
Mais si nous supprimons la table de remplacement, elle s'exécutera sans erreur mais lancera une nouvelle table de données avec les lignes triées, ce qui n'est pas souhaité.
Untitled <<DISTRIBUTION> 0, Untitled << sort(by(:name("Column 1")), Order( Descending )));</DISTRIBUTION>
Vous pouvez donc vérifier le fichier journal pour voir s'il est informatif. Si vous avez des graphiques ou des tableaux dépendants ouverts, vous devrez peut-être repenser la logique du script. Est-il possible de re-trier avant de créer des tableaux et des graphiques dépendants, par exemple.
Re : Comment mettre à jour le tableau après le tri ?votre tableau de données est-il lié à un tableau précédent, il ne peut donc pas être modifié ?