Comment écrire une formule qui compte le nombre de lignes qui ne sont pas exclues ?J'essaie d'écrire une formule simple qui comptera le nombre de lignes de ma table de données qui ne sont pas exclues. Je veux que le total soit mis à jour lorsque je modifie les états des lignes à l'aide du générateur de graphiques. Dans une autre partie de la formule, j'ai pu utiliser avec succès la fonction Excluded(), par exemple
X = Col Somme( :MG1_2520_LH_Setting, Excluded() );
Cependant, j'utilise N Rows() pour compter le nombre total de lignes et je ne vois pas comment modifier cette fonction pour compter uniquement le nombre de lignes non exclues.
Automatisation et scriptsRe : Comment écrire une formule qui compte le nombre de lignes qui ne sont pas exclues ?Salut,
J'ai une solution moche mais utilisable : créer une colonne factice remplie avec la valeur = 1 puis utiliser la formule comme vous l'avez montré dans JSL :
Col Sum(:Dummy, Excluded())
Il existe probablement une solution beaucoup plus élégante, vous souhaiterez donc peut-être attendre avant d'accepter la solution.
Meilleur,
TS
Re : Comment écrire une formule qui compte le nombre de lignes qui ne sont pas exclues ?Vous ne pouvez pas utiliser Col sum dans un code JSL « simple » pour affecter le résultat à une variable.
C'est une fonction d'agrégation intéressante qui peut être utilisée dans les formules de colonnes .
La somme des colonnes additionne les entrées individuelles d'une colonne - et comme l'indique @Thierry_S , vous avez besoin d'une colonne avec des unités pour compter les lignes. Mais en fait, vous n'avez pas besoin d'une vraie colonne, au lieu d'une colonne, vous pouvez également spécifier "1".
Si vous souhaitez simplement compter les lignes qui ne sont PAS exclues, utilisez :
New Column( "non excluded",Formula( Col Number( If( !Excluded(), 1 ) ) ))
La syntaxe compliquée est nécessaire car par défaut l'agrégation Col ... ne respecte pas l'état exclu - elle utilise toutes les valeurs de la colonne et compte donc toutes les lignes.
Re : Comment écrire une formule qui compte le nombre de lignes qui ne sont pas exclues ?Il existe d’autres approches dans JMP qui prennent automatiquement en compte les lignes exclues et celles qui ne le sont pas.
Si vous n'avez pas besoin d'une nouvelle colonne mais simplement d'une seule valeur, vous pouvez utiliser une table récapitulative avec une colonne de transformation :
Summary( N( Transform Column( "one", Formula( !Excluded() ) ) ));
Si vous avez besoin de la valeur pour la traiter ultérieurement via JSL, Summarize fournit une alternative simple :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Rows( 5::12 ) <<EXCLUDE></EXCLUDE>
Re : Comment écrire une formule qui compte le nombre de lignes qui ne sont pas exclues ?J'ai pu utiliser le code ci-dessous pour obtenir ce dont j'avais besoin. Les autres solutions ont également fonctionné, mais c'était la plus simple à mettre en œuvre pour moi. Merci !
Col Number( If( !Excluded(), 1 ) )