Comment compter le nombre de lignes non vides sur des lignes spécifiques ?J'ai le tableau affiché ici et je voudrais créer une nouvelle colonne contenant "N" qui est le nombre de colonnes contenant des nombres mais uniquement pour les colonnes étiquetées "DecodeCount_BW**". Par exemple, pour la première ligne, elle doit renvoyer "5", pour la deuxième ligne, elle doit renvoyer "2", etc.
Dans Excel, je fais cela avec « counta », mais j'essaie d'apprendre JMP pour une meilleure analyse statistique, mais je suis bloqué sur des choses simples comme celle-ci, peut-être à cause de mon cerveau formaté Excel... Désolé si c'est super basique mais je ne trouve pas de formule dans la liste des formules qui fait cela.
Merci
Utilisateur JMP17
Organisation du contenuFusion et nettoyage des donnéesRé : Comment compter le nombre de lignes non vides sur des lignes spécifiques ?En général, les formules ne fonctionnent pas aussi facilement dans ce sens (calculer quelque chose par ligne au lieu de par colonne). Selon ce que vous faites, il peut être avantageux d'empiler vos données en premier.
Vous pouvez utiliser une formule pour cela (cela peut être un peu délicat), mais en général, j'utiliserais un script. Vous trouverez ci-dessous un exemple

Names Default To Here(1);
dt = New Table("Untitled 3",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([., ., .])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([., ., .])),
New Column("AB1", Numeric, "Continuous", Format("Best", 12), Set Values([2, ., .])),
New Column("AB2", Numeric, "Continuous", Format("Best", 12), Set Values([., 2, 1])),
New Column("AB3", Numeric, "Continuous", Format("Best", 12), Set Values([., 5, .]))
);
dt << New Column("N", Numeric, Continuous);
cols_of_interest = Filter Each({colname}, dt << Get Column Names("String"),
Starts With(colname, "AB");
);
For Each Row(Current Data Table(),
:N = Sum(!Is Missing(dt[Row(), cols_of_interest]));
);
et si vous voulez vraiment utiliser une formule, vous pourrez peut-être utiliser quelque chose comme ça
As Constant(cols_of_interest = Filter Each({colname}, Current Data Table() << Get Column Names("String"),
Starts With(colname, "AB");
));
Sum(!Is Missing(dt[Row(), cols_of_interest]));
Vous devez déterminer votre propre comparaison pour filtrer les colonnes d'intérêt (Commence par devrait également fonctionner pour vos données)
Ré : Comment compter le nombre de lignes non vides sur des lignes spécifiques ?Les tableaux/résumés peuvent compter pour vous. Pour qu'ils comptent sur plusieurs colonnes, vous devez d'abord empiler les données :
dt = New Table( "test",
Add Rows( 6 ),
New Column( "W8",Set Values( [2, 5, ., 5, ., 6] )),
New Column( "W9",Set Values( [2, ., 3, 3, 1, 2] )),
New Column( "W1",Set Values( [2, ., ., ., ., .] )),
New Column( "W2",Set Values( [3, ., ., ., ., .] )),
New Column( "W3",Set Values( [3, ., ., ., ., .] )),
New Column( "W4",Set Values( [., ., 4, ., 2, .] )),
New Column( "W5",Set Values( [., 2, ., ., ., .] )),
New Column( "W6",Set Values( [., ., 5, ., 3, .] )));
dt << New Column( "row",Formula( Row() ));
dtstack =dt << Stack( columns( :W8, :W9, :W1, :W2, :W3, :W4, :W5, :W6 ),"Non-stacked columns"n( Keep( :row ) ));
dtstack << Summary( Group( :row ), N( :Data ) );
d'ailleurs:
"Non-stacked columns"n
un argument nommé qui doit être écrit comme "..."n . Argh!
Comme ce journal amélioré connaît bien ces détails...