如何按照從原始列中出現的順序排列從列中獲得的唯一值?
當尋找列中的唯一值時,通常會使用“summarize()”。但是,`summarize()` 輸出的值是經過排序的,以下 JSL 中的輸出將如下所示:{"64", "67", "74",..., "172"}。我希望輸出按照它們在列中出現的順序排列,例如:{“95”,“123”,“74”,...}。我該做什麼修改才能達到這個結果?
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
summarize(unique_values=by(weight));
show(unique_values)
自動化和腳本回覆:如何按照從原始列中出現的順序排列從列中獲得的唯一值?這應該可行。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Duplicate Rows( Match( :weight ) );
dt << Invert Row Selection;
sl = dt << Get Selected Rows;
unique_vals = dt:weight[sl];
回覆:如何按照從原始列中出現的順序排列從列中獲得的唯一值?您可以將“值順序”列屬性設定為“行順序等級”

然後,當您使用 Tables=>Summary 時,新的資料表將按行順序輸出

回覆:如何按照從原始列中出現的順序排列從列中獲得的唯一值?帶有 row() 變換列的總表是另一個選項(還有很多)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt_summary = dt << Summary(
Group(:weight),
Min(Transform Column("Row", Formula(Row()))),
Freq("None"),
Weight("None"),
statistics column name format("column"),
private
);
dt_summary << Sort(By(:Row), Replace Table, Order(Ascending));
unique = dt_summary[0, 1];
Close(dt_summary, no save);
show(unique);