Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle forBonjour la communauté,
Je veux pouvoir utiliser la boucle for pour mettre à jour les exclusions de lignes, mais lorsque je l'utilise, toutes les lignes sont masquées/exclues. J'apprécierais toute aide.
// This works
dt << select where( :Flag !="");
dt << hide and exclude;
// This does not work
For( i = 1, i <= N Items( hides ), i++,
dt << select where( hides[i] !="");
dt << hide and exclude;
);
// Neither does this
dt << select where( hides[1] !="");
dt << hide and exclude;
Je sais que je pose beaucoup de questions, car je n'ai pas de formation formelle sur jsl, et j'apprends encore la plupart des choses à la volée tout en réalisant un projet. Apprécierait tous les bons manuels de guide de script. J'ai l'officiel, mais il semble encore incomplet.
Automatisation et scriptAnalyse et modélisation de données de baseAccès aux donnéesFusion et nettoyage des donnéesExploration et visualisation des donnéesRe : Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle forQue contiennent les peaux ?
Re : Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle foril contient une liste de colonnes que l'utilisateur sélectionne dans une boîte de dialogue de colonne, donc quelque chose comme
{:Flag, :OZONE}Re : Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle forEssayez-vous de masquer et d'exclure toutes les lignes qui ne manquent pas dans ces colonnes ?
Re : Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle forOui en effet. Lorsque j'exécute les 2 premières lignes de code, cela fonctionne bien, mais lorsque j'exécute le même code, en utilisant des éléments de liste, il masque et exclut toute la table de données.
Re : Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle forEssayez d'ajouter AsColumn() autour de vos hides[i].
Pas directement lié à cela, mais si vous avez JMP16 +, il est généralement préférable d'utiliser For Each au lieu de For
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"a", "", "a", ""})),
New Column("Column 2", Character, "Nominal", Set Values({"", "b", "b", ""}))
);
cols = {:Column 1, :Column 2};
For Each({cur_col}, cols, // if you have JMP16+ usually better to use For Each than for
dt << Select Where(cur_col != "") << Hide and Exclude(1) << Clear Select
);
Re : Sélectionnez où avec masquer et exclure ne fonctionne pas dans une boucle forLe guide de script "officiel", le guide de script, est-il disponible dans le menu déroulant Aide ?
Le code de votre script
For( i = 1, i <= N Items( hides ), i++,
dt << select where( hides[i] !="");
dt << hide and exclude;
);
Doit être changé en
For( i = 1, i <= N Items( hides ), i++,
dt << select where( As Column( dt, hides[i] ) != "" );
dt << hide and exclude;
);