Versuchen Sie es mit einer Anweisung mit gruppierten Spalten.Ich habe eine Liste von Spalten, die ich gruppieren möchte, aber das Skript schlägt fehl, wenn eine der Spalten fehlt. Ein try-Block scheint das Problem nicht zu beheben.
, :Param_3}));dt = Current Data Table();
Try( dt << Group Columns ("TM", {:Param_1, :<CODE class="language-jsl">Param_2
Automatisierung und SkripterstellungBetreff: Try-Anweisung mit GruppierungsspaltenWenn Sie alle in dieser Liste vorhandenen Spalten gruppieren möchten (auch wenn beispielsweise :Param_2 fehlt), könnten Sie Folgendes versuchen.
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 ) ) ) ) );
Betreff: Try-Anweisung mit GruppierungsspaltenMusste das ein bisschen anpassen, um dt zu identifizieren.
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 ) ) ) ) );
Betreff: Try-Anweisung mit GruppierungsspaltenIch würde vorschlagen, `:col` zu vermeiden und stattdessen Zeichenketten zu verwenden. Mit JMP19 können Sie die Funktion `Set Intersection` nutzen.
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);
In früheren Versionen konnten assoziative Arrays (oder Filter Each) die Schnittmengenbildung ersetzen.