為不同的行創建累積摘要列<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨,
正如您將從問題中了解到我是JSL腳本/制定/自動化的新手......我有一個收入數據集,其中包含一個名為2013年2015年的“年”列... 我需要每年的累積總和,但是當我創建一個累積總和列(在圖形生成器的幫助下)時,它會將所有日期和年份添加到另一個並最終得到3年總積分,我希望暨總和每年重新開始。我可以通過拆分或子集來解決它,但是因為每天我需要發送一份收入比較報告,所以真的很煩人。而且這個數據每小時都在變化,因此用添加的數據更新現有的jmp會很好,然後每年創建一個Cum Sum列... 請有人幫忙嗎。謝謝!
Re:為不同的行創建累積摘要列在JMP 11中,大多數平台都有一個具有累積和項的變換菜單。它創建一個具有以下形式公式的列:
如果(OrMZ(Row()== 1,:sex!= Lag(:sex)), 0,落後() )
+如果(缺少(:身高), 0, :高度 )
它還依賴於正在排序的分組變量,但它忽略了缺失值。
Re:為不同的行創建累積摘要列謝謝邁克爾!
Re:為不同的行創建累積摘要列我可以發送整個數據嗎?我真的很感激,如果你管理哪個節省了我很多時間。
Re:為不同的行創建累積摘要列我唯一可以考慮檢查的是:第一行中的值為0.00的值。如果它丟失或與之前不同,那麼結果將是有意義的。否則,我無法重現它,至少使用您之前發送的數據。
謝謝,
邁克爾
Re:為不同的行創建累積摘要列如果(Row()== 1 | Lag(:Year)!=:Year,:NetRoomRevenueWithOutVat,Lag(:CumSumByYear)+:NetRoomRevenueWithOutVat)
Re:為不同的行創建累積摘要列親愛的Sait,
你能發送你用於CumSumByYear專欄的公式嗎?
謝謝,
邁克爾
Re:為不同的行創建累積摘要列
Re:為不同的行創建累積摘要列真奇怪。當我嘗試將0.00值放入:NetRoomRevenueWIthOutVat時,:CumSumByYear值與前一行的值相同:

Re:為不同的行創建累積摘要列謝謝邁克爾,現在兩年都在工作,但每當公式面臨0.00值(有幾天沒有收入)時,CumBySumYear從零開始計算結束了不合理的結果。
Re:為不同的行創建累積摘要列親愛的Sait,
不同之處在於我的第一個示例使用字符變量作為分組變量。您的示例使用數字變量,這很好。但它需要在配方中多一點處理。原因是對於數值,第一行的Lag()返回丟失,比較缺失與當前行也返回缺失。然後,在第2行中,第一行中的缺失值被添加到第二行中的值,這導致缺失值。
這是一個更新的公式,我認為應該適用於數字分組變量案例:
如果(Row()== 1 |滯後(:年)!=:年,
:NetRoomRevenueWithOutVat,
滯後(:CumSumByYear)+:NetRoomRevenueWithOutVat
)
如果這對您有用,請告訴我。
最好,
邁克爾
Re:為不同的行創建累積摘要列親愛的邁克爾,
這是一部分數據。我檢查了缺失值,Column Year為零。
由於我現在主要數據表已經存在,所以這些列都具有值,但這次2014年是不合邏輯的2015年真實值
Re:為不同的行創建累積摘要列親愛的Sait,
您是否看到對應於year = 2014的行的缺失值?其他年份的行有值嗎?
你能發送一份數據樣本嗎?這可能有助於更輕鬆地識別問題。
謝謝,
邁克爾
Re:為不同的行創建累積摘要列親愛的邁克爾,
非常感謝你的幫助,但不知何故它不起作用。我可以打開數據表並按年份排序,也可以創建列但沒有2014年的任何數據
你會幫助列中的公式嗎?
非常感謝
SAIT
Re:為不同的行創建累積摘要列如果確保數據表按分組變量(年份,在您的情況下)排序,那麼您應該能夠使用與此類似的公式列(使用Big Class樣本數據表作為示例):
dt = Open(“$ SAMPLE_DATA / Big Class.jmp”);
dt <<排序(按(性別),順序(升序),替換錶格);
dt <<新專欄(“CumSumBySex”,
連續,
數字,
設置公式(If(:sex!= Lag(:sex),:height,Lag(:CumSumBySex)+:height))
);
希望有所幫助,
邁克爾