Seleccione Donde () no funciona<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Pasé mucho tiempo tratando de crear una simple declaración "Seleccionar dónde ()" en JMP, y no estaba funcionando.
Aquí está la línea de código que estaba tratando de usar:
| dtData << seleccione dónde (yParamList <= minLimList ); |
yParamList es una columna valida
minLimList es un número válido
Después de leer algunos de estos foros, encontré a alguien que sugería ponerlo todo en una cadena y luego analizarlo, así que cambié el código anterior a esto:
| select_string = "dt << select where (" || ":" || yParamNames || "<" || char (minLimList ) || ");"; |
| eval (parse (select_string)); |
yParamNames es solo una versión de nombre de la yParamList a partir del código original.
Mi pregunta es, ¿por qué no funciona mi código original?
Aquí está el enlace donde se sugirió usar la cadena y eval (parse (cadena));
Gracias
Re: Seleccione Donde () no funcionaGracias. Eso me estaba volviendo loco. Miré la función As Column () pero no me molesté porque no puedo creer que JMP no sea lo suficientemente inteligente como para saber que es una columna. En un momento tuve una columna (dtData, yParamList ) declaración allí también.
La cosa es que, después de que conecté su código allí, el script tardó unos 15 segundos en ejecutarse en mi bucle de aproximadamente 420 columnas x 4000 filas. Pensé que era extraño porque se había ejecutado en aproximadamente 2 segundos con el método de cadena / análisis que había usado para solucionarlo. Parece que el método string / parse es en realidad mucho más eficiente ... Imagínate.
Re: Seleccione Donde () no funcionaTrate de encerrar yParamList dentro de As Column ().
Esto funciona en JMP 10:
dtData = Abierto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
yParamList = dtData << obtener nombres de columna ;
minLimList = { 12 , 14 } ;
yo = 2 ;
dtData << selecciona donde ( como columna ( yParamList El yo ]) <= minLimList El yo ]) ;