您好,我有一個提取查詢的腳本,然後我嘗試重新編碼一些查詢資訊。每當我在單獨的腳本中運行“match”函數時,它都會起作用,但是當我將其合併到完整腳本中時,我會收到錯誤:“名稱未解析:在訪問或評估'SamplePoint' 、 SamplePoint/*## 時位於第1 行的SamplePoint #*/"
SamplePoint 是我試圖重新編碼的列
這是完整的程式碼:
//!
Names Default To Here( 1 );
delete symbols();
// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
//function to pull data based on analysis
AnalysisData = Function( {analysisinput},
New SQL Query(
Connection( <OMMITTED>), QueryName( "TEST" ), Select( 欄( "ANALYSIS", "t1" ), 欄位( "VALUE", "t3" ), 欄位( "Z_TRIAL", "t2" ), 欄位( "NAME", "t3" ), Column( "ID_NUMERIC", "t2" ) ), From( 表( "TEST", Schema( "dbo" ), Alias( "t1" ) ), Table( "RESULT", Schema( "dbo ") " ), Alias( "t3" ), Join( 類型( 左外), EQ( Column( "TEST_NUMBER", "t1" ), Column( "TEST_NUMBER", "t3" ) ) ) ), Table( " SAMPLE" , Schema( "dbo" ), Alias( "t2" ), Join( 類型( 左外部), EQ( Column( "SAMPLE", "t1" ), Column( "ID_NUMERIC", "t2" ) ) ) ) ) , 其中( In List( Column( "ANALYSIS", "t1" ), {analysisinput}, UI( SelectListFilter( ListBox, Base( "分類" ) ) ) ) & Custom( "ID_NUMERIC > 15012", UI( Custom ( Base (“分類”) ) ) ) ) ) << 運行 ); // 函數結束 /////////////////////////////////////////////// / / / / / / / / / / / / / / / / / //格式化資料的函數FormatTrial = Function( {dt}, dt33 = dt << Split( Split By( :NAME ), Split( :VALUE ), Group( :Z_TRIAL ), 剩餘列( Drop All ), 按列屬性排序); Close( 資料表( "TEST" ), NoSave ); Wait( 3 ); // 用來試用的新列id dt33 < < New Column( "Trial ID", Character, Formula( Left( :Z_TRIAL, 4 ) ) ); // 樣本位置的新欄位dt33 << New Column( "SamplePoint", Character, Formula( Right( Left( :Z_TRIAL ) , 8 ), 3 ) ) ); :SamplePoint << 刪除公式; // 樣本編號的新欄位dt33 << New Column( "Sample #", Character, Formula( Right( :Z_TRIAL, 3 ) ) ); : " Sample #" << 刪除公式; // 將新欄位移至左側collist = {"Trial ID", "SamplePoint", "Sample #"}; dt33 << 移動選取資料列( collist, To First ); dt33 << select where( Is Missing( :"試用ID" ) ); dt33 << 刪除行; );// 函數結束// / / / / / / / / / / / / / / / / / / / / / / // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // 重新欄位的函數SampleInfo = Function ( {dts}, // 重新編碼樣本位置For Each Row( SamplePoint = Match( SamplePoint, "100", "RP", "101", "RCP", "102", "RL", "103", " RCL」、「104」、「RLM」、「105」、「FTR1」、「106」、「FTR2」、「107」、「FTR3」、「108」、「FTR4」、「109」、「ML 」 、「110」、「M1」、「111」、「M2」、「112」、「MW」、「113」、「M2W」、「115」、「DCt」、「116」、「DCr」、 “ 117", "DE", "不適用")); ); // 函數結束 /////////////////////////////////////////////// ///////////////////fai =“TM-006”;分析數據(fai); dt10 = 當前資料表(); dt10 << 行選擇( 選擇其中( :NAME == "Span" | Contains( :NAME, "Check D" ) ), 匹配大小寫( 0 ), Dialog( 編輯( 等於( 來源列( :NAME ) ) ) ) ); dt10 << 反轉行選擇 << 刪除行;格式試驗(dt10); //psa 格式 dt33:"檢查 D10(5 次重複的平均值)" << set name( "d10" ); dt33:"檢查 D50(5 次重複的平均值)" << set name( "d50" ); dt33:"檢查 D90(5 次重複的平均值)" << set name( "d90" ); dt33:"檢查 Dmax(5 次重複的平均值)" << set name( "dmax" ); dt33:"檢查 Dmin (5 次重複的平均值)" << set name( "dmin" ); dt33 << 設定名稱( "PSD 資料" );樣本資訊(dt10);</OMMITTED>我認為這可能是範圍界定問題。每當您將 SamplePoint 作為列名稱引用時,請嘗試在 SamplePoint 前面放置一個「:」(冒號)。
注意:請使用預覽視窗頂部的 JSL 圖示輸入 JSL。它可以讓讀者更輕鬆地閱讀程式碼。