如何汇总由零分隔的数据块大家好,
我有一个公式/脚本来创建,我不知道如何做到这一点。
数据在零和正数之间波动。 表示事件的正数和零之间是事件。
我想计算每个事件的计算,但超过250,000行数据中有超过300个事件。 手工做是非常耗时的。 因此,我需要创建一个代码来搜索正数集合并根据它们计算计算,例如事件的最大值,平均值和其他计算。
这是另一个复杂因素。为确保事件真正独立,我们希望在事件之间看到8个零。 如果在事件之间只有两个零,我们不相信它们足以得出结论这些是单独的事件。 但是,我们不希望这些零作为计算的一部分 - 找到平均值。
这些数字带有时间戳,因此我们想要一种方式来总结事件,但也包括在事件停止和启动时的摘要以及花费的时间。 以下是数据的示例:
| 时间戳 | 值 |
| 12/1/2018凌晨1:00 | 0 |
| 12/1/2018 1:15 AM | 0.2 |
| 12/1/2018 1:30 AM | 0.3 |
| 12/1/2018 1:45 AM | 0.6 |
| 12/1/2018凌晨2:00 | 0.5 |
| 12/1/2018 2:15 AM | 0.1 |
| 12/1/2018 2:30 AM | 0 |
| 12/1/2018 2:45 AM | 0 |
| 12/1/2018 3:00 AM | 0 |
| 12/1/2018 3:15 AM | 0 |
| 12/1/2018 3:30 AM | 0 |
| 12/1/2018 3:45 AM | 0 |
| 12/1/2018 4:00 AM | 0 |
| 12/1/2018 4:15 AM | 0 |
| 12/1/2018 4:30 AM | 0.2 |
| 12/1/2018 4:45 AM | 0.3 |
| 12/1/2018 5:00 AM | 0.5 |
| 12/1/2018 5:15 AM | 0 |
我们想要一个像这样的摘要:
| 大体时间 | 持续时间 | 马克斯 | 平均 |
| 12/1/2018 1:15 AM - 12/1/2018 2:15 AM | 75分钟 | 0.6 | 0.34 |
| 12/1/2018 4:30 AM - 12/1/2018 5:00 AM | 45分钟 | 0.5 | 0.33 |
我对jmp很缺乏经验,这是我第一次创建脚本/公式,为所有数据执行以下操作:
col maximum (value)
col mean(value)
就像我说的,我真的很清楚这一点。
任何帮助将不胜感激。
劳拉
Re:如何汇总由零分隔的数据块谢谢!这非常有效。我并没有真正想到这一点,但很多零只是缺少价值。 我不得不添加公式,以便它将所有missnig值视为零。
再次感谢你!
Re:如何汇总由零分隔的数据块这可以通过脚本中的for循环来完成,但我将引导您完成一个点击方法。 它被分解成小块:
- 创建一个Zero Counts列
- 创建一个名为Span ID的列,span的开头是行号,并通过Lag函数向下复制该行号,直到找到另一个零
- 创建一个名为Valid的列,它的ony具有Span ID == Row()行号时的值。
附表有这些列公式。
现在,您可以创建可能要取消选中的表摘要链接到原始表 。请参阅下面的对话框和结果表。


- 删除第1行
- 跨度ID是跨度开始的位置
- 将列标题更改为开始时间和结束时间等。
- 创建持续时间列结束时间 - 开始时间
这里的诀窍是找到跨度。 查找附表中使用的函数。请注意,如果小于8,则仍会计算摘要。有效将告诉您要查看哪些。