Essayez l'instruction avec les colonnes de groupeJ'ai une liste de colonnes que je souhaite regrouper, mais le script échoue si l'une d'entre elles est absente. L'utilisation d'un bloc try ne semble pas résoudre le problème.
, :Param_3}));dt = Current Data Table();
Try( dt << Group Columns ("TM", {:Param_1, :<CODE class="language-jsl">Param_2
Automatisation et scriptageRe: Essayez l'instruction avec les colonnes de groupeSi vous souhaitez regrouper toutes les colonnes présentes dans cette liste (même si, par exemple, :Param_2 est manquant), vous pouvez essayer quelque chose comme ceci.
Names Default To Here( 1 );
cols = {:a, :b, :c, :d, :e};
dt << Group Columns( "Some Columns", Filter Each( {v, i}, cols, dt << Has Column( Char( Name Expr( v ) ) ) ) );
Re: Essayez l'instruction avec les colonnes de groupeJ'ai dû légèrement modifier cela pour identifier dt.
Names Default To Here( 1 );
dt = Current Data Table();
cols = {:a, :b, :c, :d, :e};
dt << Group Columns( "Some Columns", Filter Each( {v, i}, cols, dt << Has Column( Char( Name Expr( v ) ) ) ) );
Re: Essayez l'instruction avec les colonnes de groupeJe suggérerais d'éviter :col et d'utiliser des chaînes de caractères. Avec JMP19, vous pouvez utiliser Set Intersection.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
g = {"age", "sex", "height", "test", "test2"};
mycols = Set Intersection(dt << Get Column Names("String"), g);
dt << Group Columns("MyGroup", mycols);
Dans les versions précédentes, les tableaux associatifs (ou le filtre « chaque ») peuvent remplacer l’intersection d’ensembles.