弹出对话框选择列名称<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />您好,我正在尝试编写一个脚本,用户在弹出对话框和脚本中输入列名称
1. 使用列名称下的数据对行进行子集化,并
2. 创建一个新列,使用输入的列名称执行一些简单的公式。
我不知道该怎么做,所以我硬编码了下面的列名称。 我如何替换 :XX01 ,以便无论用户在弹出的对话框中输入什么,它都会起作用。 我有 XX01、XX02、XX03 列,依此类推...
弹出=对话框(
标题(“汇总表”),
” “,
" 输入 Softbin XX:",
阵容( 6,
“Softbin ID”,
Soft_Bin = 编辑编号( 01 )
),
按钮(“确定”),
按钮(“取消”)
);
masterdt << 选择其中(缺少(:XX01));
masterdt << 反转行选择;
sbdt = masterdt << Subset(( 选定的行 ), 输出表名称("选定的 Softbin 数据"));
sbdt << 新列( "Bin%", 数字, 连续, 格式("百分比",12,2), 公式( :XX01 / :LOT_SORTED_DIES ) );
回复:弹出对话框选择列名称没错,你就是MS。感谢您的指正。
回复:弹出对话框选择列名称谢谢女士! 现在可以用了 
回复:弹出对话框选择列名称我认为如果在评估之前解析该表达式将会起作用:
评估(解析( 公式_表达式 ) );
回复:弹出对话框选择列名称谢谢PMroz,这个窗口确实很有用。 除了新列部分之外,一切都很顺利。
我不确定我做错了什么,但 eval 插入语句仍然不起作用,尽管日志中的表达式对我来说看起来很好:\
masterdt = 新表( "主设备DT", 添加行( 5 ),
新列(“XX01”,数字,连续,格式(“最佳”,12),
设置值( [1, 2, ., 3, 4] )
),
新列(“XX02”,数字,连续,格式(“最佳”,12),
设置值( [., 1, 2, ., .] )
),
新列(“XX03”,数字,连续,格式(“最佳”,12),
设置值( [., ., 1, 2, 3] )
),
新列(“LOT_SORTED_DIES”,数字,连续,格式(“最佳”,12),
设置值( [10, 10, 10, 20, 30] )
)
);
popup = 新窗口( "汇总表", <
Text Box("输入Softbin XX:"),
H 列表框(
文本框(“Softbin ID:”),
Soft_Bin = 数字编辑框( 01 ),
),
列表框(
按钮框(“好的”,
ok_flag = 1;
ncol = soft_bin << 获取;
如果 (ncol < 9,
选定的列=“XX0”||字符(ncol);
,
选定的列=“XX”||字符(ncol);
)
),
按钮框( "取消", ok_flag = 0 ),
)
);
如果(确定标志,
Missing_rows = masterdt << 获取行 where( !Is Missing( as Column( masterdt, selected_col ) ) );
如果( N 行( 缺失行 ) > 0,
masterdt << 选择行(missing_rows);
sbdt = masterdt << Subset( (选定的行), 输出表名称( "选定的 Softbin 数据" ) );
Formula_expr = 评估插入(
"\[sbdt << 新列( "Bin%", Numeric, Continuous, Format( "Percent", 12, 2 ), Formula( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
);
解析(Eval(公式表达式));
);
);
回复:弹出对话框选择列名称这将做你想做的事。我将您的代码转换为使用新窗口而不是对话框。必须对列公式进行解析(eval())。
大师=新表( 《DT大师》 ,添加行( 5 ) ,
新专栏( “XX01” ,数字,连续的,格式( “最好的” , 12 ) ,
设定值( [ 1 , 2 , 。 , 3 , 4 ] )
) ,
新专栏( “XX02” ,数字,连续的,格式( “最好的” , 12 ) ,
设定值( [ 。 , 1 , 2 , 。 , 。 ] )
) ,
新专栏( “XX03” ,数字,连续的,格式( “最好的” , 12 ) ,
设定值( [ 。 , 。 , 1 , 2 , 3 ] )
)
) ;
弹出窗口=新窗户( “汇总表” , <<莫代尔() ,
文本框( “输入Softbin XX:” ) ,
H 列表框(
文本框( “Softbin ID:” ) ,
软_Bin =数字编辑框( 01 ) ,
) ,
列表框(
按钮盒( “好的” ,
好的标志= 1 ;
恩科尔=软箱<<得到;
如果(恩科尔< 9 ,
选定的列= “XX0” ||字符(恩科尔) ;
,
选定的列= “××” ||字符(恩科尔) ;
)
) ,
按钮盒( “取消” ,好的标志= 0 ) ,
)
) ;
如果(好的标志,
缺失行数=大师<<获取行,其中( !不见了(作为列(大师,选定的列) ) ) ;
如果( N 行(缺失行数) > 0 ,
大师<<选择行(缺失行数) ;
SBDT =大师<<子集( (选定的行) ,输出表名称( “精选Softbin数据” ) ) ;
公式表达式=评估插入物(
"\[sbdt << 新列( "Bin%", Numeric, Continuous, Format( "Percent", 12, 2 ), Formula( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
) ;
解析(评估(公式表达式) ) ;
) ;
) ;