Tengo un problema con Col List Box. Me gustaría restringir la lista de columnas disponibles para seleccionar.
Ya lo he restringido a Numérico y Continuo, pero en mi aplicación eso deja una lista muy larga.
De hecho, si hay otra forma que sea más fácil (¿Diálogo de columna?), Eso también estaría bien. La documentación parece limitada en esto. Por ejemplo, muestra que se puede agregar un script a la función Col List Box(), pero no tiene un ejemplo ni describe cómo se haría.
Usando un ejemplo modificado del índice de secuencias de comandos, ¿cómo eliminaría, por ejemplo, todos los nombres de columna que comienzan con una N?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
New Window( "Col List Box Example 3",
H List Box(
ll1 = Col List Box( all,
<< Set Data Type( "Numeric" ),
<< Set Analysis Type( "Continuous" )),
Button Box( "Add", ll2 << append( ll1 << get selected ) ),
ll2 = Col List Box( "numeric", MaxItems( 1 ), nlines( 1 ) ),
Button Box( "Remove", ll2 << remove selected )
)
);
Echa un vistazo a filter col selector().
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
new window("Test",
fcs = filter col selector(dt)
);
Te da muchas opciones para la reducción.
@mwechtal ,
Qué tal algo como esto ?
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
ColumnNames = dt << Get Column Names("String");
for(i = N Items(ColumnNames), i >= 1 , i--,
If(!IsMissing(Regex(Char(ColumnNames[i]),"PNP*")),
Remove From(ColumnNames,i);
);
);
ColumnNames;
New Window( "Example", b = Button Box( "Popup Menu", Print( b << Get Menu Choice ) ) );
b << set menu items(ColumnNames);