Acabo de actualizar a JMP 13 y ha hecho que muchos scripts personalizados dejen de funcionar. He rastreado el problema a un cambio en cómo las listas manejan el resultado de una consulta de localización. El siguiente código se utiliza para devolver "pera" en JMP 12, pero ahora devuelve {"pera"}.
mylist = {"apple","pear"};
mychoice = "pear";
showchoice = mylist[loc(mylist, mychoice)];Estaba usando la sintaxis de la lista [loc ()] para crear cadenas separadas por comas SQL para ejecutar procedimientos almacenados.
El nuevo comportamiento es lógico si es inesperado. Lamentablemente, Loc () aún no aceptará un argumento de lista como valor de búsqueda, eso habría sido un resultado beneficioso. ¿Cómo recomendarías conseguir el resultado deseado?
- ¿Convertir el resultado de Loc () a un número?
- ¿Reemplazar showchoice con showchoice [1] en mi código?
- ¿otro?
Podría convertir mi lista de opciones a una cadena y eliminar el {&} & \! ". Esto no siempre funcionará ya que la lista de texto que muestro al usuario no es siempre la misma que la lista de la que se selecciona la clave correspondiente para la solicitud de SQL.
Esto es un poco como el exceso de ajuste con modelos predictivos. Su código está en sintonía con la forma en que JMP realmente funciona en lugar de cómo debería funcionar. Lo que está bien, hasta el próximo lanzamiento 
pienso que Loc () se supone que toma una matriz y devuelve la ubicación de los elementos verdaderos (distintos de cero).
Contiene (lista, elemento) trabaja con listas y devuelve la ubicación del elemento de destino.