<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Me gustaría hacer un diálogo con el nombre de la columna preseleccionada que puede cambiar o elegir algún otro si no están en el conjunto de datos. El problema es que no soy capaz de usar estos elegidos más adelante.
Así que aquí está mi código:
Borrar Globales();
dt = Tabla de datos actuales ();
Si( está vacío( dt ),
dt = Abrir()
);
col_name_list = dt << obtener nombres de columnas (cadena);
Mostrar (col_name_list);
dialogADMI = Vacío();
If( Contiene( col_name_list, "ADJMI Rev2"),
dialogADMI = Columna ("ADJMI Rev2")
);
dialogMIPLdraw1 = Vacío();
If( Contiene( col_name_list, "MIPLdraw1"),
diálogoMIPLdraw1 = Columna ("MIPLdraw1")
);
dlg = Diálogo de columna (
ADMI2 = Lista Col( "ADJMI Rev2",
Columna mínima( 1 ),
Columna máx.( 1 ),
Columnas (diálogo ADMI)
),
MIPLdraw1Col = Lista de columnas ("MIPLdraw1",
Columna mínima( 1 ),
Columna máx.( 1 ),
Columnas (diálogoMIPLdraw1)
),
);
Mostrar( dlg["Botón"] );
Si( dlg["Botón"] == -1,
Lanzar()
);
Quitar de( dlg );
Lista de evaluación( dlg );
ADMI2 = ADMI2[1] << obtener nombre;
MIPLdraw1Col = MIPLdraw1Col[1] << obtener nombre;
// Hasta aquí creo que todo está bien
// Pero el siguiente sted no funciona
dt <<
Seleccionar Dónde(:MIPLdraw1Col != "") <<
Subconjunto(
columnas (:Paciente, :ADMI2, :MIPLdraw1Col),
Nombre de la tabla de salida ("Draw1"),
);
;
// Así que trato de seleccionar aquellos que no tienen vacío en MIdraw1Col
// Y obtuve esto: dt << Select Where( :MIPLdraw1Col/*###*/ != "" ) <<
// Esto funciona si uso el nombre original de la columna MIPLdraw1 pero quiero tener la posibilidad de usar algún otro nombre de columna
// Entonces, ¿cómo debo hacerlo?
El problema que tiene es que le está diciendo a JMP que tiene columnas llamadas: ADMI2 y: MIPLdraw1Col.Esto se debe a que está utilizando el elemento de alcance de ":" delante de las referencias.No tienes columnas de estos nombres.Tiene variables de memoria cuyos valores tienen los nombres de las columnas.Si cambia el código al siguiente, funcionará:
dt << Selecciona Dónde ( como columna ( MIPLdraw1Col ) != "" ) << Subconjunto (
columnas( :Paciente, Columna ( ADMI2 ), Columna ( MIPLdraw1Col ) ),
Nombre de la tabla de salida ( "Dibujar1" ),
);
Es posible que necesite variables de columna en lugar de sus nombres.
Intenta intercambiar la última parte de tu bacalao con esto:
ADMI2 = Columna ( ADMI2 [ 1 ] << obtener nombre ) ;
MIPLdraw1Col = Columna ( MIPLdraw1Col [ 1 ] << obtener nombre ) ;
// Hasta aquí creo que todo está bien
// Pero el siguiente sted no funciona
dt << Selecciona Dónde ( MIPLdraw1Col [] != "" ) << Subconjunto (
columnas ( : Paciente , ADMI2 , MIPLdraw1Col ) ,
Nombre de la tabla de salida ( "Dibujar1" )
) ;