文件导入后的脚本不执行嗨,我正在从一个目录导入一堆文件并将它们堆叠成一个大文件(45 个文件),导入到一个大文件后,脚本将清理数据集,添加列和行等。我遇到的问题是如果作为一个整体一起执行,脚本会出错;如果我先运行导入,等待文件加载到 jmp 中,然后运行代码的第二部分,它就会工作。 我有 wait(150) 之间有足够的时间导入数据,但它仍然不起作用。错误消息显示“访问或评估“列”Column/*###/(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>脚本回复:文件导入后脚本不执行可能打开了不止一张表,试着明确一点,像这样
If( (Col N Missing( Column(dt, j ) ) / N Row()) == 1
我认为列函数使用的表(实际上是当前表)与您期望的表不同。 给column函数加上dt就告诉它是哪个表,否则就是当前表(你一口气跑的时候可能还没追上。)
回复:文件导入后脚本不执行克雷格
感谢您的回复,现在我做了更改,但代码仍然无法整体执行,PVOTC 缺失值未更新,也看到相同的错误消息“invalid argument in access or evaluation of 'Column' , 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>
</CODE></PRE><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-390303" slang="en-US" mode="NONE">回复:文件导入后脚本不执行</LINGO-SUB><LINGO-BODY id="lingo-body-390303" slang="en-US" mode="NONE"><P>后</P><PRE><CODE class=" language-jsl">dt = Multiple File Import(...) << Import Data;
dt 保存着数据表的列表,即使只导入了一个表。
你不需要等待(150)。
如果只导入一张表,dt[1]就是当前数据表。
编辑:如果可以避免,不要使用当前数据表()。 如果可能,使用像 dt[1] 这样的显式句柄。 当前数据表是一个 JSL 函数,它试图在 JSL 发明之前表现得像 JMP,最后一个接触的表将是下一个平台使用的表。