嗨,我从一个目录导入一堆文件并将它们堆叠成一个大文件(45个文件),导入一个大文件后,脚本将清理数据集,添加列和行等。我遇到的问题是如果作为一个整体一起执行,脚本会出错;如果我先运行导入,等待文件加载到 jmp 中,然后运行代码的第二部分,它将起作用。 我在等待(150)之间有足够的时间来导入数据,但它仍然不起作用。错误消息显示“访问或评估“列”列/*###/(j) 时的参数无效。 我确实注意到在导入 PVOTC 更新后立即执行的脚本也没有执行。 以下是我的代码,非常感谢您的帮助。
files = Files In Directory( loadPath);
For( i = 1, i <= N Items( files ), i++, //previous steps non drb or already parsed)
subLoadPath = loadPath ||files[i];
stepID = num(word(2,word(-1,subLoadPath,"/" ),"_"));
If( Is directory(subLoadPath) & stepID >= 11, // 11 is the step started to parse
tableName = word(-1,subLoadPath,"/" );
tableName_flow = word(-2,subLoadPath,"/" );
dt = Multiple File Import(
<<SET folder="">= 1, j--,
If( (Col N Missing( Column( j ) ) / N Row()) == 1,
dt << delete columns( j )
)
);
Wait(5);
dt << Clear Column Selection(); </SET>后
dt = Multiple File Import(...) << Import Data;
dt 包含数据表的列表,即使只导入了一个表。
你不需要等待(150)。
如果只导入了一张表,dt[1] 将是当前数据表。
克雷格
感谢您的回复,现在我进行了更改,但代码仍然无法整体执行,PVOTC 缺失值未更新,还看到相同的错误消息“访问或评估 'Column' 时的参数无效,列/* ###*/(j)"
</CODE><CODE class=" language-jsl">dtImpt = Multiple File Import(
<<SET folder="">= 1, j--,
If( (Col N Missing( Column( j ) ) / N Row()) == 1,
dt << delete columns( j )
)
);
dt << Clear Column Selection(); </SET>