文件導入後的腳本未執行嗨,我正在從一個目錄導入一堆文件並將它們堆疊到一個大文件(45 個文件)中,導入到一個大文件後,腳本將清理數據集,添加列和行等。我遇到的問題是腳本如果作為一個整體一起執行會出錯;如果我先執行導入,等待檔案載入到 jmp 中,然後執行程式碼的第二部分,它將起作用。 我有 wait(150) 之間的時間足以導入數據,但它仍然不起作用。錯誤訊息顯示「存取或評估「Column」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
我認為列函數使用的表(實際上是當前表)與您期望的表不同。 將 dt 新增至列函數會告訴它是哪個表,否則它是當前表(當您一次性運行它時,它可能無法跟上。)
回覆:文件導入後的腳本未執行克雷格
感謝您的回复,現在我進行了更改,但代碼仍然無法整體執行,PVOTC缺失值未更新,還看到相同的錯誤訊息“訪問或評估‘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,其中最後觸及的表將是下一個平台使用的表。