同じ項目が別の列にある場合、その列に連続番号 (1 から始まる) を入力するにはどうすればよいですか?2 列のデータがあるとします。 最初の列のpartID、2番目の列はその部品の測定値です。 各部品は N 回測定されるため、次の partID が出現するまで、partID 列にはテーブル内に N 回出現する ID を持つ行が含まれます。 特定の部品の測定繰り返し/実行数を含む新しい列を作成したいと考えています。
したがって、partID 列に表示される同一の partID については、Runs 列に 1 から始まる連続番号を入力したいと考えています。
したがって、部品 A が 11 回測定された場合、Runs 列には 1 から 11 までの行エントリが取得されます。 次のパート B は 9 回測定され、Runs 列には 1 から 9 までの行エントリが表示されます。
これを JSL 経由で自動化するにはどうすればよいですか?
ウィンドウズRe: 同じ項目が別の列にある場合、その列に連番(1 から始まる)を埋めるにはどうすればよいですか?前述したようにpartIDがグループ化されている限り、これは機能します。
If(
Row() == 1, 1,
Lag( :partID ) == :partID, Lag( :Runs ) + 1,
1
)
Re: 同じ項目が別の列にある場合、その列に連番(1 から始まる)を埋めるにはどうすればよいですか?@mmarchandTSI解決策は素晴らしい解決策です。しかし、いつものように、JMP では解決策に到達する方法が複数あります。代替ソリューションは次のとおりです
Col Cumulative Sum( 1, :partID )
Re: 同じ項目が別の列にある場合、その列に連番(1 から始まる)を埋めるにはどうすればよいですか?Col Cumulative Sum の値が 1 の場合は、現在の JMP バージョンで動作するはずです
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1",
Character,
"Nominal",
Set Values({"A", "A", "A", "A", "B", "B", "C", "C", "C", "D"})
)
);
dt << New Column("Run", Numeric, Ordinal, Formula(
Col Cumulative Sum(1, :Column 1)
));