Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresEst-il possible de créer une formule de colonne dans JMP qui compte le nombre de lignes *sélectionnées* répondant à certains critères ?
Excel ne peut pas le faire, mais si c'était le cas, la formule pourrait ressembler à ceci : =countif(and(isSelected(),a1:a20=$c$1,b1:b20="red"))
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresMerci Jim! Ça a marché!
Légèrement reformulé, pour ceux qui ont besoin d'entendre les choses différemment, voici comment vous avez une colonne qui compte le nombre de lignes sélectionnées :
- Créez une nouvelle colonne avec la formule : N lignes (tableau de données actuel) <
- Notez que cette formule ne se mettra pas automatiquement à jour lorsque la sélection changera, c'est pourquoi nous effectuons l'étape 2...
Créez un nouveau script (dans le menu triangle rouge en haut à gauche du tableau de données) avec :Names Default To Here( 1 );
dt = Current Data Table();
f = Function( {a},
dt << rerun formulas()
);
rs = dt << make row state handler( f );... qui dit essentiellement, chaque fois que les états de ligne changent, exécutez la fonction "f", qui prend "a" comme argument (qui est ignoré) et dit à dt (la table de données actuelle) de réexécuter ses formules. Exécutez ensuite ce script une fois.
La réponse de Jim montre comment étendre cela pour ne compter que les lignes sélectionnées qui répondent à d'autres critères, ce qui faisait partie de la question d'origine.
Merci encore !
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresCliquez sur le triangle rouge à côté du nom de la table de données dans le panneau de la table et sélectionnez "Rerun Formulas".
Si vous avez besoin que la formule soit réexécutée automatiquement chaque fois qu'une modification des sélections est effectuée, un simple gestionnaire d'état de ligne peut être scripté.
names default to here(1);
dt=current data table();
f = function( {a}, dt << rerun formulas(); );
rs = dt << make row state handler(f);Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresJ'utilise 14.0.0 et cette colonne s'affiche simplement sous la forme de 1, quel que soit ce que je sélectionne. Y a-t-il un bouton recalculer quelque part ?
Par curiosité, qu'est-ce qui n'allait pas dans ma formule ?
<SPAN class="token function">N Row</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token function">Current Data Table</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> GetSelected</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN>
Cela a du sens pour moi, mais cela ne fonctionne pas et ne semble pas offrir d'erreurs significatives.
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresVous trouverez ci-joint une copie de l'exemple de grande classe de tableau de données JMP.J'ai ajouté dans la formule en question pour la nouvelle colonne appelée "Colonne 6".J'utilise JMP 14.2 et la formule fonctionne pour moi.
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresJ'ai collé ce texte en tant que formule pour la colonne, mais la colonne s'est terminée par tous les points. J'ai aussi essayé ceci :
N Row(Current Data Table() << GetSelected())
... qui a abouti au même résultat. Je m'attendais à ce que la colonne soit le nombre de lignes sélectionnées, par exemple, avec 3 lignes sélectionnées, je m'attendais à voir "3" dans chaque cellule de la colonne.
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresJ'essaie vraiment de faire des calculs sur la sélection - j'ai des données temporelles, par exemple, le bruit, la chaleur et les vibrations par rapport au temps pour un certain nombre de tests. Parfois, je vois des clusters impairs dans les données de Graph Builder, que je sélectionnerai, puis je veux savoir combien de temps cette condition a duré, donc j'aimerais avoir une autre fenêtre Graph Builder qui peut tracer le nombre de points sélectionnés vs . identifiant de test.
Y a-t-il une meilleure manière de faire cela?
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critèresVoici une formule qui fonctionnera, ou elle peut également être utilisée comme élément d'un script
dt = Current Data Table();
selRows = dt << get selected rows;
If( N Rows( selRows ) > 0,
count = 0;
For( i = 1, i <= N Rows( selRows ), i++,
count = count + (:age[selRows[i]] == 12 & :sex[selRows[i]] == "F")
);
,
count = 0
);
count;
Re : Formule pour compter le nombre de lignes sélectionnées qui répondent à certains critères@BHarris ,
Puis-je vous demander pourquoi vous envisagez une formule de colonne ? Si vous regardez l'exemple montré ici, il y a 4 lignes sélectionnées dans cette table de données. Peu importe où vous cochez la formule de votre colonne, elle indiquera "4" à moins que vous ne vouliez faire une somme cumulée des lignes sélectionnées afin qu'elle passe progressivement de 1 à n.
Voici un article très similaire qui pourrait répondre à votre question si vous cherchez à utiliser des scripts
https://community.jmp.com/t5/Discussions/Count-Rows-Selected-amp-quickly-summarize-categories-under-one/td-p/41932
