为不同的行创建累积摘要列<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))
);
希望有所帮助,
迈克尔