連接工作週編號以指示從工作週X到Y的相應累計數量總和我有三列的數據表。 第一欄是“工作週”。第二列是“數量”。第三列是“ Cum_Qty”。
在“ Cum_Qty”列中,該值是“ Qty”列中前一行值的持續總和,直到滿足=> 500。
如果行數=> 500 in,則值將在“ cum_Qty”中更新。
我需要編寫JSL腳本來創建新列('Cum_WW')的幫助,該列將連接工作週編號以指示相應的'Cum_Qty'是從工作週X到工作週Y的總和,以便滿足qty => 500。 之後,刪除一些行。
有關詳情,請參閱下面的附件和說明。
例子:
在工作週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 …。等等…。
謝謝你的幫助。
腳本編寫回复:連接工作週編號以指示從工作週X到Y的相應累計數量總和這是一個腳本,該腳本遵循可使用交互式JMP解決此問題的步驟。 能夠在JMP中有效創建腳本需要對JMP可以交互進行的操作有充分的了解。 好的腳本利用了交互式JMP的內置功能。 通過閱讀JMP文檔,發現JMP和使用JMP,可以找到學習JMP內容的良好起點。 這些可以在JMP文檔庫中找到
幫助=> JMP文檔庫
這是一個可以滿足您需求的腳本。 假定它從2列Qty和Cum_WW開始。
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;
請研究腳本,以便您了解用於解決方案的各種項目。 如果您對其中任何一個有疑問,請回复此帖子,我將幫助您補充理解。
回复:連接工作週編號以指示從工作週X到Y的相應累計數量總和謝謝吉姆。該腳本既簡單又很棒。
如果它以“ workweek”,“ Qty”和“ Cum_Qty”三列開頭,是否有辦法獲得“ Cum_WW”列?