如何检查列列表是否存在并使用弹出窗口报告缺少的列?大家好!
我想测试数据表中是否存在 5 个列名的列表。
如果缺少一列或多列,我希望弹出一个窗口,告诉用户缺少哪些列。 如果所有列都存在,则脚本应继续运行。
您能指出我如何写的正确方向吗?
谢谢!
高级统计建模自动化和脚本编写数据混合和清理大规模定制质量和工艺工程回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?关联数组的方法很棒!
但请注意,这里描述的比较只是发现精确的火柴。
一般来说,对于 Jmp,列名中是否有大写字母或空格并不重要。
因此,根据您的应用案例,也许检查列列表是否存在也不应该在意。
非常稳健的是@tx尼尔森的做法:
r=try(column(dt,tn)<<GET name=""></GET>
检查列是否存在?
鉴于列存在检查的所有陷阱 - 在我看来,Jmp 应该提供一种可靠的方法来询问数据表是否存在列。
这是愿望清单中的帖子:
数据表:消息列存在(列名)?
回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?谢谢你! 这是一个有趣的解决方案! 我真的应该学会与关联数组...
回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?谢谢你! 这正是我一直在寻找的!
回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?您可以使用消除()关联数组的方法可以在没有任何 JSL 循环的情况下执行此操作:
Names Default to Here( 1 );
reference table = New Table( "TEST",
<<NEW column=""></NEW>
回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?这是执行此操作的一种方法的简单示例
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = dt << get column names( string );
requiredList = {"name", "sex", "shoe size"};
For( i = N Items( requiredList ), i >= 1, i--,
If( Contains( colList, requiredList[i] ),
Remove From( requiredList, i, 1 )
)
);
stop = "NO";
If( N Items( requiredList ) > 0,
stop = "YES";
New Window( "Error",
Modal,
V List Box(
Text Box( "The following column(s) are required" ),
Text Box( "but were not found in the data table." ),
Spacer Box( size( 1, 10 ) ),
List Box( requiredList )
)
);
);
If( stop == "YES", Throw() );回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?嗨罗布!
感谢您的建议! 我想使用 JSL 来执行此任务,因为我计划将其合并到我的一些脚本中,但也希望为用户提供用户友好的 GUI 消息,以防列丢失。
不过谢谢!
阿迪
回复:如何检查列列表是否存在并使用弹出窗口报告缺少的列?嗨,拉维克17,
您是否尝试过使用列下拉菜单中的列视图选择器? 然后,使用汇总统计功能,您可以轻松搜索您的五列名称并确定它们是否缺少数据。
我希望这有帮助,
抢