最後の n 個の項目/値を表示するようにフィルタリングするにはどうすればよいですか?コンテキストとして、半導体機能のサンプル データ テーブルを使用しましょう。
列 lot_id には 13 レベルがあります。
例えば、データテーブル内の最後のロットのみ、または最後の5ロットのみをIMR管理図にしたいとします。lot_idのリストを手動でスクロールして最後の5ロットを手動で選択する以外に、このような最後のn個のフィルタリングをエレガントに行う方法はありますか?
一方、データテーブルには数年分のプロセスセンサーデータがあり、過去6か月分だけプロットしたいのです。
基本的なデータ分析とモデリング品質およびプロセスエンジニアリングRe: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?2番目にはデータフィルターを使うことができます

選択を少し簡単にするために、YEAR-MONTH列を作成することをお勧めします。
まず、順序はデータテーブルの行順のみに基づいているのでしょうか?半導体機能の場合はアルファベット順なので、データフィルターを使用できます。

Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?これらを使用して、最新の xx 日、月、年にラベルを付けるカテゴリ列を作成し、それをデータ フィルターで使用します。
If( :Date >= Date DMY( 1, Month( Col Max( :Date ) ), Year( Col Max( :Date ) ) - 1 ),
"Yes",
"No"
)
If( Col Max( :Date ) - :Date <= In Days( 30 ),
"latest 30 days"
)
過去6か月間はこれを変更できます
If(
:Date >= Date DMY( 1, Month( Col Max( :Date ) ), Year( Col Max( :Date ) ) )
-In Years( 0.5 ),
"Yes",
"No"
)
最新のXラベルのラベル付け
これを最新の 2 ロット ID/サイクルの例として使用します。
1. ロットまたはサイクルを番号で再割り当てする
If( Row() == 1,
1,
If( :Start Date == Lag( :Start Date ),
Lag( :cycle ),
Lag( :cycle ) + 1
)
)
またはこれ
If( Row() == 1,
1,
If( :lot ID == Lag( :lot ID ),
Lag( :cycle 2 ),
Lag( :cycle 2 ) + 1
)
)
次に、最新のxx IDまたはサイクル(この例では2)にラベルを付ける数式を作成します。
If( Col Max( :cycle ) - :cycle < 2,
"latest 2 cycles"
)
あるいは、このスクリプトを変更してデータ テーブルで実行することもできます。
ただし、データが更新されるたびにこのスクリプトを再実行する必要があります。そのため、上記のスクリプトの方が適しています。
last_no = 2;
// Define your column names
timestampCol = "Start Date"; // Replace with your actual timestamp column name
categoryCol = "lot ID"; // Replace with your actual category column name
// Reference the current data table
dt = Current Data Table();
// Create a summary table with the latest timestamp per category
dtSummary = dt << Summary(
Group( column(categoryCol) ),
Max( column(timestampCol) ),
Link to original data table(0),
Output Table Name("LatestPerCategory")
);
// Sort the summary table by latest timestamp descending
dtSummary << Sort(
By( column("Max(" || timestampCol || ")") ),
Order(Descending),
Replace Table(1)
);
// Get the top 2 categories
latestCategories = {};
For( i = 1, i <= last_no, i++,
Insert Into( latestCategories, dtSummary:lot ID[i] )
);
// Add a new column to flag the latest 5 categories
dt << New Column("Is Latest " ||char(last_no),
Character,
Formula( If( Contains( latestCategories, :lot ID ), "Yes", "No" ) )
);
// Optional: Close the summary table
Close( dtSummary, NoSave );
私のテストデータは次のようになります

Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?「最後の 5 ロット」の場合は、Rank Reverse を使用できます。

スクリーンショットのように、「サイト」ごとに 5 ロットまで続く可能性もありますか?

少し驚きですが、x 軸はデータ フィルターの設定に合わせて調整されません。
-> 空白が多い
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?サブセットを作成するために、Last.6.Months False/True 式を使用しました。フィルターではなくサブセットを使用することで、管理図のサブグループに Last.6.Months == 0 のケースが含まれないようにしました。 
Names Default To Here( 1 );
dt = Current Data Table();
Last.6.Months.Data = dt << Subset( Filtered Rows(:Running? == 1 & :Last.6.Months == 1));
Last.6.Months.Data << Set Name("Last.6.Months.Data");
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?ジャルモ:
ありがとうございます!ランク逆順機能については知りませんでした。来週試してみます。
はい、x 軸の問題が、データ フィルターではなくサブセットを使用した理由です。
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?実際、おっしゃる通り、必要な機能はまだ利用できません。
私の失敗から学びましょう:
Col Rank はロット数ではなく行数に基づいてカウントされます。
したがって、すべてのウェハーには独自の番号が付けられます。 -> 望んでいる番号ではありません。
ごめん。
しかし、明るい見通しもあります。
バージョン 19 では、JMP に新しい機能が追加されます 
Ranking Tie および Col Rank 関数に稠密ランキングを追加する

現時点では、Reverse Score Unique を計算するワンクリック オプションはありません。
回避策として:
JMP19 には、もう 1 つの新機能が追加されます: Col N カテゴリ (:green_heart:)
これにより、次の方法で逆ユニークスコアを計算できます。
(Col N Unique( :lot_id ) - Col N Unique( :lot_id )) + 1
@jthi 、素晴らしいコラボレーションですね : )
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?代わりに、 Reverse Score Unique を手動で追加することもできます。

カスタム関数経由
Add Custom Functions(
New Custom Function(
"COL",
"Score Unique_reverse_addExpr",
Function( {value},
Col N Unique( value) - Col Score (value) +1
),
<
<FORMULA category=""></FORMULA>
<BR /> <BR /> <P>ただし、以下の制限があります。</P>
<UL>
<LI>グループ化オプションがありません</LI>
<LI><FONT face="courier new,courier">Expr() は、</FONT>数式エディタで手動で追加する必要があります (引数が早期に評価されるのを防ぐため)。</LI>
</UL> <P><A href="https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/m-p/888083/highlight/true#M105027" target="_blank">https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/mp/888083/highlight/true#M105027</A> </P> <P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_1-1753421633660.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><img src="https://us.v-cdn.net/6038925/uploads/images/78870i815199AB7B6D781F/hogi_1-1753421633660.png" role="button" title="hogi_1-1753421633660.png" alt="hogi_1-1753421633660.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?レベル設定で「最後に選択」などの便利な機能がありますが、残念ながら、これらは(名義/順序)データフィルターではアクセスできません。

データ フィルターにメリットをもたらす改善点は多数ありますが、これはさらに 1 つになる可能性があり、このタイプの選択に対する希望リスト項目になるでしょうか。
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?Ranking Tie および Col Rank 関数に稠密ランキングを追加するまだ「はい、お楽しみに」とマークされていません。
運が良ければ、9 月の JMP19 に密集ランキングの「逆」バージョンを組み込むことができるかもしれません ; )
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?朗報です!JMP 19.0 以降、管理図ビルダーに「最後の N 個のサブグループを設定」という新しい機能が追加されました。この機能は、データやチャートの更新に関係なく、常に最新の N 個のサブグループが表示されるように X 軸を調整します。
Re: 最後の n 個の項目/値を表示するようにフィルターするにはどうすればよいでしょうか?確認してくれてありがとう、アニー!
Discovery24での講演に出席させていただいたのですが、この点は改善点として触れられていたように思います。楽しみにしています。