JSL を使用して、多数の列から値の最も高い上位 5 つのセルを選択して色を付ける方法こんにちは、専門家の皆さん。
JSL を使用して、多数の列から値の最も高い上位 5 つのセルを選択して色を付けるにはどうすればよいですか?
例:
列 Type_A のすべてのセルから Type_D まで (これらの列名の類似点は "_" が含まれていることです)
最も値の大きい上位 5 つのセルを選択して黄色に色付けします。
「Select Where」機能は 2 つの列を比較する場合にのみ適用できるようです。
期待される結果は次のようになります。
0.14、0.12、0.11、0.1、0.9 は、最も値の大きい上位 5 つのセルです。

ありがとう。
私はJMP 17.2を使用しています
自動化とスクリプトRe: JSL を使用して、多数の列から上位 5 つの最高値のセルを選択して色を付ける方法絆をどのように扱いたいですか?
Re: JSL を使用して、多数の列から上位 5 つの最高値のセルを選択して色を付ける方法検索するすべての列の列名を取得します。
行番号を含む新しい列を追加します
検索したい列をすべて重ねます。行列は必ず
積み上げデータテーブルをデータ列の降順で並べ替える
並べ替えられたテーブルの最初の 5 行をループし、ラベル列 (元のテーブルの列名) と行列に基づいて元のテーブルのセルの色を設定します。
積み重ねられ、並べ替えられたデータテーブルを削除する
元のデータテーブルから行列を削除します
Re: JSL を使用して、多数の列から上位 5 つの最高値のセルを選択して色を付ける方法こんにちは@jthi さん
=Top(5, column("Type_A"):column("Type_D) << Color Cell (3); のような数式があると思いました。
ここで、5 は列タイプ A から列タイプ D までの上位値の数を示します。
@txnelson の解決策を試してみます。
ありがとう !
Re: JSL を使用して、多数の列から上位 5 つの最高値のセルを選択して色を付ける方法マトリックスを使用するオプションがあります(ジムが提案したインタラクティブなソリューションははるかに理解しやすく、私も最初に思いついたアイデアでした)
Names Default To Here(1);
// This table shows how this will behave with ties
// dt = Open("$SAMPLE_DATA/2D Gaussian Process Example.jmp");
// cols_of_interest = {"X1", "X2"};
dt = Open("$SAMPLE_DATA/Pogo Jumps.jmp");
cols_of_interest = {"Yat", "Yee", "Sam"};
m = dt[0, cols_of_interest];
v = Shape(m, N Items(m));
r = Ranking(v); // let Ranking decide our top5
idx = Loc(r > N Items(m) - 5);
vals = J(1, N Items(m), .);
vals[idx] = 1;
vals = Shape(vals, N Items(m) / N Items(cols_of_interest));
For(i = 1, i <= N Cols(vals), i++,
rows_to_color = Loc(vals[0, i]);
Column(dt, cols_of_interest[i]) << Color Cells("Yellow", rows_to_color)
);
Write();
Pogo Jumps.jmp - ヤット、イー、サム

2D ガウス過程の例.jmp - X1、X2 (同点の場合の動作に注意)
