您好,我有一个提取查询的脚本,然后我尝试重新编码一些查询信息。每当我在单独的脚本中运行“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。它可以让读者更轻松地阅读代码。