没有辅助列的JSL匹配后如何实现过滤器?大家好!
打开两个文件“比萨饼响应”和B。请按照以下两个步骤操作:
d1 = Open( "$SAMPLE_DATA/Pizza Responses.jmp" );
d2 = Open( "$SAMPLE_DATA/Pizza Subjects.jmp" );
1。通过“比萨饼响应”中的第1列从文件“比萨饼主题”中添加“性别”列。
2。选择“性别”列作为“ M”,选择“选择”列作为“ TrimPepperjack”。
匹配后如何在不向A文件添加辅助列的情况下使用JSL实现过滤?
谢谢!

回复:与没有辅助列的JSL匹配后,如何实现过滤器? @ lwx228 ,
这是一种蛮力的方法
Names Default To Here( 1 );
d1 = Open( "$SAMPLE_DATA/Pizza Responses.jmp" );
d2 = Open( "$SAMPLE_DATA/Pizza Subjects.jmp" );
// Get subject IDs for all male subjects
males = d2 << get rows where( :gender == "M" );
maleSubjects = {};
For( i = 1, i <= N Rows( males ), i++,
Insert Into( maleSubjects, Char( d2:subject[males[i]] ) )
);
theRows = d1 << get rows where(
:Choice == "TrimPepperjack" & Contains( maleSubjects, Char( :Subject ) )
);
dSubset = d1 << subset(
selected columns( 0 ),
Rows( theRows ),
output Table( "text" )
);
我还要补充一点,我认为您需要亲自研究这些项目,然后再将它们扔到“论坛”中。 您在论坛上一直非常积极地提出问题,并且需要将从用户响应中获得的知识集中到您的独立工作中。
回复:与没有辅助列的JSL匹配后,如何实现过滤器?谢谢JIM!感谢您一直以来的帮助。
由于我一直使用VBA,因此可以通过词典轻松解决这些问题。
但是似乎没有类似的方法可以使用JMP将数据写入表中。
我还搜索了JMP帮助文件,但找不到类似的方法,这主要是由于我的英语基础差。
我这些问题的英文是我用翻译软件制作的,所以很多表达都不严谨,请见谅!
对于这样的问题,因为此文件有很多行,所以我不想在表中添加列,而是要在内存中运行并直接输出它。
再次感谢JIM,并再次感谢讨论中的所有专家的帮助!
回复:与没有辅助列的JSL匹配后,如何实现过滤器?逐行循环是一种蛮力的方式。
这样,如果没有太多要筛选的目标,则可以分三个步骤进行:
1。选择“ TrimPepperjack”以产生子集。
2。在子集中匹配“ M”。
3。再次选择“ M”。
比计算负担少得多。
所以我可以自己做。谢谢!
回复:与没有辅助列的JSL匹配后,如何实现过滤器?您可能还想研究使用虚拟联接,该联接将关联数据表而不实际联接它们。这将使您可以对脚本进行编码,就好像该列存在于数据表中一样,即使它不存在。回复:与没有辅助列的JSL匹配后,如何实现过滤器?谢谢吉姆!
好的,我在帮助文件中找到了它。我需要学习。
预计会更快吗?

回复:与没有辅助列的JSL匹配后,如何实现过滤器?应该会更快.....