在选定行之后添加行您好,社区,我是 jmp 新手,在创建一个在数据集中每个选定行之后添加 1 行的脚本时遇到了麻烦。 有任何想法吗? 到目前为止我的代码看起来像这样:
dt=当前数据表();
dt<<添加行(1,46030);
但是,这当然只会在指定列之后添加一行。 我根据一列中的特定名称和另一列中的特定值选择行。 如何在所有选定的不相邻但中间有未选定的行的行之后自动输入一行?
在此先感谢您的帮助!
我
回复:在选定行之后添加行$SAMPLE_DATA
是 JMP 的特殊环境变量。OPEN()函数的结构是:
打开( 文件路径, <不可见>, <私有>, <选择列(列表)> | <忽略列(列表)> )
请参阅下面的 Open 脚本索引

回复:在选定行之后添加行感谢您的快速回复,但是,我尝试了您的答案的所有变体,但它仍然给我这个错误:
意外的“$”。
尝试解析“:”运算符的操作数。
第 1 行第 13 列:dt = 打开 (:►$SMHI_Trend_IKEU_Profiler_merge_only 2
我写了几个像这样的变体:
dt = 打开 (:$SMHI_Trend_IKEU_Profiler_merge_only 20 年.jmp");
有什么想法,我做错了什么吗? (我是这方面的初学者,抱歉)
回复:在选定行之后添加行dt<< 打开("$...");
是不正确的。指定的用法是
dt = 打开(:$...");
它打开样本数据表,并为打开的数据表分配一个名为“dt”的句柄;
dt = 当前数据表();
与 Open() 函数执行相同的操作,只不过它指定“dt”指向当前活动数据表的指针/句柄。
看
帮助>脚本索引
了解更多详情。
回复:在选定行之后添加行非常感谢,这个脚本非常适合我。
我唯一不明白的是,为什么我的
dt<< 打开("$...");
功能不起作用。 我总是必须使用 dt<< CurrentDataTable ();我的桌子已经打开了。
再次感谢您提供的宝贵信息!
回复:在选定行之后添加行因为插入的行会改变选中的行号,所以下面修改为@uday_guntupalli必须编写脚本才能真正获得您想要的结果。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dt << Select Randomly( 0.1 ); // Selecting rows randomly
SR = dt << Get Selected Rows; // Get list of selected rows
For( i = 1, i <= N Rows( SR ), i++,
dt << Add Rows( 1, SR[i] ); // Add 1 row after each selected row
SR = dt << Get Selected Rows;
);
回复:在选定行之后添加行@帕科,
欢迎来到 JMP 社区。让我尝试解释一下并解决问题。 添加行消息仅指定行数以及添加位置,以便 JMP 执行函数指示其执行的操作。 为了满足您的需求,我们可以尝试以下操作:
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dt << Select Randomly(0.1); // Selecting rows randomly
SR = dt << Get Selected Rows; // Get list of selected rows
for(i = 1 , i <= N Rows(SR), i++,
dt << Add Rows(1,SR[i]); // Add 1 row after each selected row
);
希望这对您有所帮助并解决您的问题