Comment utiliser JSL pour filtrer rapidement toutes les lignes d'un tableau de données avec des valeurs multi-colonnes qui ne sont pas vides ?Si une table de données comporte plus de 100 colonnes, étant donné que les colonnes 11 à 100 sont au format numérique, comment utiliser JSL pour filtrer rapidement toutes les lignes de la colonne 11 à 100 qui ne sont pas nulles.
Merci!
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Vous avez raison... mon erreur
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Merci Jim!
J'ai essayé. Ils sont équivalents.
Number( dt[Row(), Index( 11, 15 )] ==5)
sum(if(abs(As Column(11))>=0,1),if(abs(As Column(12))>=0,1),if(abs(As Column(13))>=0,1),if(abs(As Column(14))>=0,1),if(abs(As Column(15))>=0,1))==5
Concerne les valeurs non nulles, et non les valeurs non nulles.

Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Juste pour précision,
Number( dt[Row(), Index( 11, 15 )] )
ne vous donnera pas les mêmes résultats que
sum(if(abs(As Column(11))>=0,1),if(abs(As Column(12))>=0,1),if(abs(As Column(13))>=0,1),if(abs(As Column(14))>=0,1),if(abs(As Column(15))>=0,1))
La première équation vous donnera le nombre de valeurs non vides (nulles), tandis que la deuxième équation vous donnera le nombre de valeurs non nulles.
De plus, une version plus simple de la deuxième équation est :
Sum( As Column( 11 ) != 0, As Column( 12 ) != 0, As Column( 13 ) != 0, As Column( 14 ) != 0, As Column( 15 ) != 0 )
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Je veux juste ajouter comment savoir s'il est nécessaire de faire le calcul, quelle est la meilleure façon de le faire ?
Lorsque le nombre de colonnes est petit, j'utilise cette méthode :
sum(if(abs(As Column(11))>=0,1),if(abs(As Column(12))>=0,1),if(abs(As Column(13))>=0,1),if(abs(As Column(14))>=0,1),if(abs(As Column(15))>=0,1))
Merci!
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?- Je sais que tu sais comment ajouter une colonne à une table de données
- On vient de vous montrer comment trouver des lignes qui ne sont pas nulles
- Donc je ne dois pas comprendre ce que tu demandes
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Merci Jim!
C’est une façon efficace de le faire.
Comment ajouter une nouvelle colonne au tableau et compter le nombre de colonnes de la ligne 11 à 100 qui ne sont pas nulles ?
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Cela devrait vous donner ce que vous voulez.
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where( Number( dt[Row(), Index( 11, 100 )] ) == 90 );
d3 = dt << Subset( Output Table( "t" ), Selected Rows( 1 ), selected columns( 0 ) );
Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Aucun numéro n'a été trouvé.

Re : Comment utiliser JSL pour filtrer rapidement toutes les lignes d'une table de données avec des valeurs multi-colonnes qui ne sont pas vides ?Je vois que c'est une façon de additionner plusieurs colonnes dans la même ligne.
sumVec = (VSum(mat`))`;
Je veux faire cela, mais je ne sais pas comment déterminer de cette manière le nombre de colonnes non nulles dans la même ligne.
Merci!
dt = Current Data Table();
mat = dt[0, 11 :: 100];
nu = (Number( mat` ))`;
dt << New Column( "text", Numeric, Continuous, Values( nu ) );
dt << Select Where( :text == 90 );
d3 = dt << Subset( Output Table( "t" ), Selected Rows( 1 ), selected columns( 0 ) );