Comment sélectionner et colorer les 5 cellules ayant la valeur la plus élevée parmi de nombreuses colonnes à l'aide de JSLBonjour les experts,
Comment sélectionner et colorer les 5 cellules ayant la valeur la plus élevée parmi de nombreuses colonnes à l'aide de JSL ?
Exemple:
De toutes les cellules de la colonne Type_A à Type_D (la similitude du nom de cette colonne est qu'elle contient "_")
Je souhaite sélectionner et colorer en jaune les 5 cellules ayant la valeur la plus élevée.
Il semble que la fonction "Sélectionner où" ne s'applique qu'à la comparaison de 2 colonnes.
Le résultat attendu devrait ressembler à ceci ;
0,14, 0,12, 0,11, 0,1, 0,9 sont les 5 cellules ayant la valeur la plus élevée.

Merci.
J'utilise JMP 17.2
Automatisation et scriptsRe : Comment sélectionner et colorer les 5 cellules ayant la valeur la plus élevée parmi de nombreuses colonnes à l'aide de JSLComment souhaitez-vous gérer les liens ?
Re : Comment sélectionner et colorer les 5 cellules ayant la valeur la plus élevée parmi de nombreuses colonnes à l'aide de JSLObtenez les noms de colonnes pour toutes les colonnes que vous allez rechercher.
Ajouter une nouvelle colonne contenant le numéro de ligne
Empilez toutes les colonnes que vous souhaitez rechercher. Assurez-vous de conserver la colonne Ligne
Trier le tableau de données empilé par ordre décroissant de la colonne Données
Parcourez les 5 premières lignes du tableau trié et définissez la couleur des cellules dans le tableau d'origine en fonction de la colonne Étiquette (nom de la colonne dans le tableau d'origine) et de la colonne Ligne.
Supprimer les tables de données empilées et triées
Supprimer la colonne Ligne de la table de données d'origine
Re : Comment sélectionner et colorer les 5 cellules ayant la valeur la plus élevée parmi de nombreuses colonnes à l'aide de JSLSalut @jthi ,
Je pensais que nous avions une formule comme =Top(5, column("Type_A"):column("Type_D) << Color Cell (3);
Où 5 fait référence au nombre de valeurs principales de la colonne Type A à la colonne Type D.
Je vais essayer la solution @txnelson .
Merci !
Re : Comment sélectionner et colorer les 5 cellules ayant la valeur la plus élevée parmi de nombreuses colonnes à l'aide de JSLIl existe une option utilisant des matrices (la solution interactive suggérée par Jim est beaucoup plus facile à comprendre et a également été la première idée qui m'est venue à l'esprit)
Names Default To Here(1);
// This table shows how this will behave with ties
// dt = Open("$SAMPLE_DATA/2D Gaussian Process Example.jmp");
// cols_of_interest = {"X1", "X2"};
dt = Open("$SAMPLE_DATA/Pogo Jumps.jmp");
cols_of_interest = {"Yat", "Yee", "Sam"};
m = dt[0, cols_of_interest];
v = Shape(m, N Items(m));
r = Ranking(v); // let Ranking decide our top5
idx = Loc(r > N Items(m) - 5);
vals = J(1, N Items(m), .);
vals[idx] = 1;
vals = Shape(vals, N Items(m) / N Items(cols_of_interest));
For(i = 1, i <= N Cols(vals), i++,
rows_to_color = Loc(vals[0, i]);
Column(dt, cols_of_interest[i]) << Color Cells("Yellow", rows_to_color)
);
Write();
Pogo Jumps.jmp - Yat, Yee, Sam

Exemple de processus gaussien 2D.jmp - X1, X2 (notez le comportement avec les liens)
