J'ai un problème avec Col List Box. J'aimerais restreindre la liste des colonnes pouvant être sélectionnées.
Je l'ai déjà limité à Numérique et Continu, mais dans mon application, cela laisse une très longue liste.
D'ailleurs, s'il existe un autre moyen plus simple (Column Dialog?), Ce serait bien aussi. La documentation semble limitée à ce sujet. Par exemple, il montre qu'un script peut être ajouté à la fonction Col List Box(), mais n'a pas d'exemple, ni ne décrit comment cela serait fait.
À l'aide d'un exemple modifié de l'index de script, comment supprimerais-je, par exemple, tous les noms de colonne commençant par un 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 )
)
);
Découvrez filtre col selector().
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
new window("Test",
fcs = filter col selector(dt)
);
Cela vous donne beaucoup d'options de réduction.
@mwechtal ,
Que diriez-vous quelque chose comme ça ?
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);