稼働週番号を連結して、対応する稼働週XからYまでの数量の累積合計を示すには3つの列を持つデータテーブルがあります。 1列目は「workweek」です。2列目は「数量」です。3列目は「Cum_Qty」です。
「Cum_Qty」列では、この値は「Qty」列の前の行の値の合計が500以上になるまで継続します。
行の数量が=> 500 inの場合、値は 'cum_Qty'の場合と同様に更新されます。
qty => 500を満たすために、対応する「Cum_Qty」が稼働週Xから稼働週Yまでの合計であることを示す稼働週番号を連結する新しい列(「Cum_WW」)を作成するJSLスクリプトを作成するのに助けが必要です。 その後、いくつかの行を削除します。
詳細は下記添付ファイルと解説をご参照ください。
例:
週2の数量は、「数量」列の633(> 500)、数量は「Cum_Qty」の633(前の行の値の合計なし)で、「Cum_WW」は就業週を示します 2 。
稼働週3では、数量は185(<500)で、185(稼働週3から)+ 633(稼働週2から)= 818の合計です。この値は「Cum_Qty」列で更新され、「Cum_WW」は稼働週を示します 2_3 。
平日4では、数量は130(<500)であり、130(平日4から)+ 185(平日3から)+ 633(平日2から)= 948の合計です。この値は、「çum_Qty」列の「 Cum_WW 'は平日を示します 2_4 。
平日5では、数量は90(<500)で、90(平日5から)+ 130(平日4から)+ 185(平日3から)+ 633(平日2から)= 1038の合計で、この値は「Cum_WW」の「Cum_Qty」列は、平日を示します 2_5 。
等々......
その後、「Cum_WW」の行を削除します 2 、 2_3 、 2_4 「Cum_WW」のデータ行を維持します 2_5 …。等々…。
ご協力いただきありがとうございます。
スクリプティングRe:稼働日番号を連結して、対応する稼働日XからYまでの数量の累積合計を示します。これは、対話型JMPを使用してこの問題を解決するための手順に従うスクリプトです。 JMPでスクリプトを効果的に作成できるようにするには、JMPがインタラクティブに実行できることを十分に理解する必要があります。 優れたスクリプトは、インタラクティブJMPの組み込み機能を利用します。 JMPの詳細を学ぶには、JMPドキュメントを読んだり、JMPを発見したり、JMPを使用したりすればよいでしょう。 これらは、JMPドキュメントライブラリにあります。
Help => JMPドキュメントライブラリ
ここにあなたが望むことをするスクリプトがあります。 QtyとCum_WWの2つの列から始まると想定しています。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Cum_Qty",
formula(
If( Row() == 1, x = 0 );
If( :Qty > 500,
x = :Qty,
x = x + :Qty
);
x;
)
);
// Turn formula columns into static values
dt:Cum_Qty << delete formula;
dt << New Column( "WW", formula( Word( 1, :Cum_WW, "_" ) ) );
// Create a new column that is a numeric version of the Cum_WW
dt << New Column( "Cum_WW_Num",
formula(
Sum(
Num( Word( 1, :Cum_WW, "_" ) ),
Num( Word( 2, :Cum_WW, "_" ) ) * .1
)
)
);
dt << select where( :WW == "" );
dt << delete rows;
dt << New Column( "select",
Formula(
If( :Cum_WW_Num != Col Max( :Cum_WW_Num, :WW ),
Row State( Row() ) = Selected State( 1 )
)
)
);
dt << delete columns( {"WW", "Cum_WW_Num", "select"} );
dt << delete rows;
解決策を得るために使用されたさまざまな項目を理解できるように、スクリプトを勉強してください。 それらについて質問がある場合は、この投稿に返信してください。理解を深めます。