Re: ランクユニークジムとMSに感謝します。 それは見事に動作します!
Re: ランクユニーク列の数式が必要な場合は、これが機能するはずです。 ソートに依存しません。
Local( {L = Associative Array( :Label ) << get keys}, Loc( L, :Label ) )
列式を使用せずに JSL で同じアプローチを使用できます。
dt = Current Data Table();
dt << New Column( "Rank Unique", continuous );
L = Associative Array( :Label ) << get keys;
For Each Row( :Rank Unique = Loc( L, :Label ) );
Re: ランクユニークdt = current data table();
dt:Rank << delete formula;
Re: ランクユニークこんにちはジム、
アドバイスをありがとう。 #2のソリューションについて。 手動で行うのではなく、JSLを使用して式を削除するにはどうすればよいですか?Re: ランクユニークこれを行うにはいくつかの方法があります....(私が考えることができるのは、これは早朝です)
- 集計表を使用してランクを作成する
- 実行テーブル==>概要
- ラベル列でグループ化
- 出力データ テーブルが低いものから高いものへと並べ替えられていると仮定して、"Rank" という名前の新しい列を作成し、式を指定します........Row()
- Tables==>Update を実行して、サマリー テーブルを元のテーブルに結合し、Label 列で一致させます。
- 新しいランク式列を作成する
- ラベルでデータを並べ替える
- 式を使用して、Rank という名前の新しい列を作成します。
If( Row() == 1,
count = 1,
If( :Label != Lag( :Label ),
count
++)
);
count;
- 必ず列情報に移動し、列が作成された後に削除してください。これは、数式がデータの順序とデータの完全性に基づいているため、データの変更 (並べ替えなど) によって数式が再実行され、ランキングが変更される可能性があるためです。
ユニークなランク新しい列を計算して列を一意にランク付けしたいと考えています。 以下は、達成したい出力例です。 しかし、JSL ランク式を使用しても、私が望むものを達成するのには役立ちません。 どなたかアドバイスをいただけますか?
私が使用する式は Col Rank(:Label) です
| ラベル | ランク | 私が欲しいもの |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、80376、最大 | 1 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、80376、最大 | 2 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、80376、最大 | 3 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、81999、最大 | 4 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、81999、最大 | 5 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、81999、最大 | 6 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、86491、最大 | 7 | 3 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、86491、最大 | 8 | 3 |
| NVM_VMAX_PRG_EVENR2_DCMP[1]、86491、最大 | 9 | 3 |
高度な統計モデリング自動化とスクリプト作成実験計画法マスカスタマイゼーションRe: ランクユニークこれはずっと前に解決しましたが、昨日解決策を見つけたので、誰かの役に立つかもしれないと思い、共有します。次の数式で新しい数式列を作成してください。
Col Maximum(
Col Rank(
If( Row() == Col Minimum( Row(), :Label ),
:Label,
.
)
),
:Label
)
基本的に、これはまず、元の列で最初に出現した行に対応するラベルを、それ以外の行には「.」を含む新しい配列を作成します。次に、各ラベルの順位を問い合わせます。その結果、ラベル自体ではなく、ラベルの順位を含む別の配列が生成されます。最後に、そのラベルを持つすべての行の順位を含む配列を出力します。これが数式列に出力されます。
私の場合、別の列の最高値に基づいてデータセットのグループをランク付けしようとしていました。例えば、グループ、セット、時間、値という列で、時間経過とともに観測された最高値に基づいて、グループ内のセットの順位を算出したいと考えていました。うまくいった式は次のとおりです。
Col Maximum(
Col Rank(
If ( Row() == Col Minimum( Row(), :Group, :Set),
Col Maximum( :Value, :Group, :Set ),
.
),
:Group,<BR /> <
<TIE></TIE> ),
:Group, :Set
)
これが最善の方法かどうかはわかりませんが、機能します。ChatGPT はまったく解決策を提供できなかったため、これが誰かの役に立つかもしれません。
Re: ランクユニークJMP 19: Ranking Tie 関数と Col Rank 関数に密なランキングを追加