Restreindre pour chaque()Je suis relativement novice avec la fonction For Each(), alors soyez indulgents. Le script ci-dessous répond à mes besoins, sauf que je souhaite restreindre les colonnes sur lesquelles il agit. Je souhaite agir uniquement sur les colonnes 3 et supérieures ? C'est assez simple avec une fonction For(), mais je ne comprends pas comment cela fonctionne ici ?
For Each({colnames, index}, dt << Get Column Names("String"),
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[]<100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);Automatisation et scriptsRe : Restreindre pour chaque()Supprimez les valeurs de la liste avant de commencer à la parcourir
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
Remove From(collist, 1, 3);
show(collist);
For Each({colnames, index}, collist,
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[] < 100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);Re : Restreindre pour chaque()Vous pouvez également le faire à l'intérieur du for each lorsque vous définissez la liste, mais à mon avis, il est préférable de le faire avant (plus facile à lire et à déboguer)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
For Each({colname, index}, Remove(dt << Get Column Names("String"), 1, 3),
show(colname);
);
Ou si vous collectez la liste avant, vous pouvez simplement parcourir des éléments spécifiques
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
For Each({colname, index}, collist[4::N Items(collist)],
show(colname);
);Re : Restreindre pour chaque()Bien ! Fonctionne bien.