<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola a todos,
Estoy intentando escribir un script que crea un subconjunto basado en dos opciones en un cuadro combinado dinámico. Parece que la parte del diálogo es buena ya que mis variables se están guardando mientras las selecciono, pero la generación real del subconjunto no está funcionando.
/ * Eliminar temporalmente la parte de la base de datos abierta * /
clearGlobals ():
ER_Temp = Abrir ("C: \ Users \ Kilik \ Desktop \ Tbl_RIE_ERS.jmp");
/ * Extraiga una lista de películas únicas en el conjunto "a" y herramientas únicas en el conjunto "b" * /
Resumir (a = By (: Film));
Insertar en (a, "", 1);
Resumir (b = Por (: Herramienta));
Insertar en (b, "", 1);
/ * Crear un diálogo * /
Nueva ventana ("Ejemplo",
<< modal,
Cuadro de lista H (
/ * Crea un cuadro desde el que seleccionar la película * /
Cuadro de panel ("Seleccionar una película:",
cb1 = cuadro combinado (
una,
<< SetFunction (
Función ({este},
myFilm = this << Get Selected ();
)
)
)
)
/ * Crea un cuadro desde el que seleccionar la herramienta * /
Cuadro de panel ("Seleccionar una herramienta:",
cb2 = cuadro combinado (
segundo,
<< SetFunction (
Función ({este},
myTool = this << Get Selected ();
)
)
)
)
)
);
// crea un subconjunto basado en ambas selecciones
ER_Temp << clearRowStates;
ER_Temp << selectWhere ((: Film == myFilm) & (: Tool == myTool));
Selection = ER_Temp << Subset (nombre de la tabla de salida ("selección")));
Gracias,
David
Hola David.
En este ejemplo, tanto myFilm como myTool serán cadenas. Como la Selección de Dónde se escribe, si: La película o: La herramienta son columnas numéricas, no se seleccionarán filas porque no es posible que una columna numérica tenga un valor de cadena. La función Num () convertirá un número representado como una cadena (por ejemplo, "12") a un valor numérico.
Otra cosa a considerar es que podría ser posible que no haya valores coincidentes en los datos para las selecciones realizadas en su Nueva ventana. Al usuario se le presentan todos los valores únicos de: Película y los valores únicos de: Herramienta, pero eso no significa que para cada valor de: Película cada valor de: La herramienta esté representada en los datos. La instrucción Select Where () solo está seleccionando filas donde ambas condiciones son verdaderas.
Espero que ayude.
Wendy
Tiene un paréntesis adicional en su declaración de subconjunto. Además, evitaría que una variable y una tabla tuvieran el mismo nombre. Cambiarlo a:
Select_dt = ER_Temp << Subconjunto ( nombre de la tabla de salida ( "selección" ) , filas seleccionadas ( 1 )) ;