自动更正个别数据我已经在我的数据集中发现了非常具体的错误。我可以非常轻松地手动修复它们,但出于各种原因,我需要将其自动化/编写脚本。具体来说,我需要将“任务”列中的值从“贡献者”更改为“审阅者”,但只针对许多单元格中的特定单元格。这些单元格可以通过一个或多个其他列中的内容、“报告编号”或“名称”来识别。
名称和任务值均有效,并显示在不需要更改的其他记录中。
附件是一个小例子,其中第 1 行和第 2 行的“贡献者”应该替换为“审阅者”。
我不知道如何使用 Col=>Recode 来仅更改那些记录。
我检查了日志并尝试了工作流构建器,但现在显示了对表的手动编辑或使用行编辑器。
我正在尝试学习 JSL。尽管这看起来很简单,但我还是遇到了困难,如果能指出文档中正确的部分或要使用的概念,我将不胜感激。
自动化和脚本数据混合和清理回复:自动更正个人数据数据表下标、<< 获取行位置、<< 选择位置、每一行、关联数组() 是您最可能需要的一些东西。
我不明白这一点“名称和任务值都是有效的,并且显示在不需要更改的其他记录中。 ”所以我无法给出更准确的答复。
回复:自动更正个人数据感谢您要求澄清。
我的意思是我无法重新编码所有涉及“John Doe”或“Jane Doe”的记录,因为其中大多数都不应该更改。
John Doe 的名字拼写正确,不需要更改。
John Doe 在其他报告中被正确列为贡献者和审阅者。
我无法重新编码“贡献者”任务的所有记录,因为其中大多数都是正确的。
我无法重新编码特定报告的所有记录,因为大多数行都是正确的。
我需要更改特定单元格,例如报告#123456,John Doe 从贡献者变为审阅者。
这基本上是一个维恩图问题。我可以选择需要更改的行,但我不知道如何更改所选行的特定列中的值。
这样是不是更清楚一点了?
回复:自动更正个人数据事实并非如此,因为我不明白这些选择应该基于什么,但这里有一些可以做的事情的例子。
使用条件
Names Default To Here(1);
dt = Open("$DOWNLOADS/IndividualValueEditsExample.jmp");
rows_to_update = dt << Get Rows Where(:"Report#" == "123456" & :Task == "Contributor" & :Name == "John Doe");
dt[rows_to_update, "Task"] = "Reviewer";
使用选定的行
Names Default To Here(1);
dt = Open("$DOWNLOADS/IndividualValueEditsExample.jmp");
dt << Select Rows(1::2);
sel_rows = dt << Get Selected Rows;
dt[sel_rows, "Task"] = "Reviewer";回复:自动更正个人数据JMP 数据表中的任何特定数据单元都可以直接通过
列[行]
因此,要更改第 1 行和第 2 行的 Task 值,最直接的 JSL 是
names default to here(1);
:Task[1] = "Reviewer";
:Task[2] = "Reviewer";
我无法根据您的陈述评估规则以确定哪些行需要更改。需要说明更多细节。
回复:自动更正个人数据非常感谢!这正是我所需要的。