需要发挥创造力,将序列延续到表格末尾你好,
我不确定是否有一个很好的解决方案来解决我的具体问题,但我很想听听专家的想法......
在使用 JMP 17 时,我经常向现有文件添加新数据。每行都会分配有自己独特的“批号”。当我获得一组新数据时,我需要将新批号添加到现有文件中。到目前为止,最简单的方法是将新批号复制到主文件并运行表更新函数来获取所有必要的数据,但我正在寻找一种以更自动化的方式执行此操作的选项,以减少“数据处理”时间。
本质上,底线是,我是否只能使用以下方法之一,或者是否有更有创意的方法可以通过 JSL 完成此任务?
我尝试过的:
- 添加行,然后突出显示最后几个批号并填充 -> 继续序列到表尾
- 可以通过 JSL 来添加行,但我一直在努力寻找一种自主的方法来填充到表格的末尾……
- 将批号从数据导入中复制并粘贴到数据主表中,然后运行更新表函数以提取其余数据
- 经过实践检验的方法每次都很有效,只需要比这更自动化一点。
- 连接数据表然后删除重复项
- 这种方法确实很有效,但有时主表中最后几行的数据不完整,但更新数据后就会完整。使用此方法会删除较旧的重复项,而保留较新的重复项更为理想。如果我可以保留较新的重复项,这种方法可能会非常有效。
- 在相邻列中或批号列本身中使用 Row() 公式。
- 我们几乎从不从批次#1开始,但这可以通过添加Row()+(一个数字)轻松实现。例如,如果第一批是6543,那么我的公式将是[Row()+ 6542],并且可以计算出正确的数量。
- 这也能很好地工作,但有时会跳过批号。这会导致计算列与批号列不匹配,除非我希望有时数据中有空白
自动化和脚本回复:需要发挥创造力,继续将序列延续到表格末尾如果您可以定义规则和例外情况,那么就可以编写 JSL 来解决您的问题。我很难理解您所说的一切,但似乎如果您可以定义从哪里获取第一个批号、如何处理不规则情况以及如何检测和处理跳过批号的情况,那么这些都可以在 JSL 中处理。
回复:需要发挥创造力,继续将序列延续到表格末尾这其实是一个简单的练习...假设我有一个“主”数据集,其批次为 19257 至 19640。我收到了一个新数据集,其批次为 19620 至 19665,现在我需要将其添加到“主”数据集,以便它们都位于一个文件中。正常做法是将这些新批次号复制到主数据集,然后运行 Tables -> Update,匹配两个表 Batch = Batch,然后更新会将所有新数据带过来。
我最大的困扰是利用 JSL 将批号从新数据转移到主数据,或者让它们自动填充到表的末尾。添加行、运行表更新和删除未使用的行是比较简单的部分。
回复:需要发挥创造力,继续将序列延续到表格末尾您可以使用
表=>连接
这将创建一个新表,其中包含原始表中的所有数据以及新输入表的新行。然后您可以简单地删除原始表并重命名新连接的表。
回复:需要发挥创造力,继续按顺序排列到表格末尾这种方法效果很好,但新表会丢失可能应用于第一个数据表的行状态。我知道我可以使用“行状态”列,但我需要将所有操作记录在日志中,而“从行状态复制”由于某种原因没有记录在日志中。我的想法是将所有这些都记录在日志中,这样我的同事就可以从那里复制以创建此数据更新脚本,而无需学习其背后的编码。
连接可能是我最终要寻找的选项,但我需要一种方法来删除重复项,同时保留第二个重复项。数十列中的大部分信息将是相同的,但第一个重复项在列表末尾会有一些缺失数据。因此,第二个重复项将提供更完整的数据集。例如:
批 #
1
2
3(重复、删除)
4(重复、删除)
5(重复、删除)
[以下是包含一些重复批次的连接数据]
3(复制,保留)
4(复制,保留)
5(重复,保留)
6
7
8
回复:需要发挥创造力,继续按顺序排列到表格末尾我无法想象您所说的内容:“我们的想法是将所有这些都记录在日志中,这样我的同事就可以从那里复制以创建此数据更新脚本,而无需了解其背后的编码。”。您是否可以逐步了解用户正在复制和使用的日志中提供的具体内容?
关于重复批次,我建议您在脚本索引中查找“选择重复行”。它将找到之前看到的所有行。然后,您可以循环遍历找到的重复项,从中找到重复的上一行,然后删除该行。
回复:需要发挥创造力,继续按顺序排列到表格末尾当我做出这一陈述时,我指的是将新数据引入现有数据集所涉及的一系列步骤,包括:
- 打开并导入之前使用特定文件名在特定位置保存的新 Excel 数据集
- 将该数据添加到现有数据集以使其更加完整
- “清理”数据(即删除新数据集添加但不需要的列,重新格式化其他列,以及其他可能需要的内容)
所有这些操作都添加到 Log 中,Log 生成的 JSL 可以复制到数据表上的新脚本中。我的同事中很少有人精通 JSL,所以我们需要这种简单性,以便整个团队能够让每个人都重复这个项目。如果我需要手动将任何 JSL 代码添加到 Log 未捕获的脚本中,那么最终产品对于团队来说就更难实现。
如何实现您建议的“循环查找找到的重复项,然后从中找到重复的上一行,然后删除该行”部分?我认为这可能是将所有内容整合在一起的最后一块缺失部分。