嗨,我從一個目錄導入一堆文件並將它們堆疊成一個大文件(45個文件),導入一個大文件後,腳本將清理數據集,添加列和行等。我遇到的問題是如果作為一個整體一起執行,腳本會出錯;如果我先運行導入,等待文件加載到 jmp 中,然後運行代碼的第二部分,它將起作用。 我有 wait(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>