¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?Si una tabla de datos tiene más de 100 columnas, dado que las columnas 11 a 100 están en formato numérico, ¿cómo se puede usar JSL para filtrar rápidamente todas las filas de las columnas 11 a 100 que no son nulas?
¡Gracias!
Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?Tienes razón... mi error
Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?¡Gracias Jim!
He intentado. Son equivalentes.
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
Es para valores no nulos, no valores distintos de cero.

Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?Sólo para aclarar,
Number( dt[Row(), Index( 11, 15 )] )
no te dará los mismos resultados 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 primera ecuación le dará el recuento de valores que no están en blanco (nulos), mientras que la segunda ecuación le dará el recuento de valores distintos de cero.
Además, una versión más simple de la segunda ecuación es:
Sum( As Column( 11 ) != 0, As Column( 12 ) != 0, As Column( 13 ) != 0, As Column( 14 ) != 0, As Column( 15 ) != 0 )
Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?Solo quiero agregar, ¿cómo sé si es necesario hacer el cálculo? ¿Cuál es la mejor manera de hacerlo?
Cuando el número de columnas es pequeño, utilizo este método:
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))
¡Gracias!
Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?- Sé que sabes cómo agregar una columna a una tabla de datos.
- Le acaban de mostrar cómo encontrar filas que no sean nulas.
- Así que no debo entender lo que estás preguntando.
Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?¡Gracias Jim!
Esta es una manera eficiente de hacerlo.
¿Cómo puedo agregar una nueva columna a la tabla y contar el número de columnas en las filas 11-100 que no son nulas?
Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?Esto debería darte lo que quieres.
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: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?No se encontró ningún número.

Re: ¿Cómo utilizar JSL para filtrar rápidamente todas las filas de una tabla de datos con valores de varias columnas que no están vacías?Veo que esta es una forma de sumar varias columnas en la misma fila.
sumVec = (VSum(mat`))`;
Quiero hacer esto, pero no sé cómo calcular el número de columnas no nulas en la misma fila de esta manera.
¡Gracias!
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 ) );