如何使用列表[提示,JSL,脚本编制]过滤/清除数据JMP在获得了如此多的支持之后,我认为现在该回到我的青睐了。在下面,您将找到一个小程序,它可能使过滤数据表更加容易。通过“条目”进行硬编码是一种过滤条目的方法。这是乏味的并且容易出现错别字。一种替代方法是按条目在过滤器列表中的“位置”来过滤。该方法仅假设过滤器列表中的字段顺序不变。要确保,只需检查JMP日志。作为质量检查,我 t会告诉您哪些条目被排除在外。
祝好运
新手2
names default to here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
NAME_LIST = dt:NAME << get values ;
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
remove from(NAME_LIST, {1,3,5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where(contains(NAME_LIST, :NAME)) ;
dt_2 = dt << subset(selected rows(1), all columns);
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
close (dt, nosave) ;
回复:如何使用列表[提示,JSL,脚本编制]过滤/清除数据JMP-如何使其适用于重复项?
大家好,
上周五,我提供了一个小型JMP,该JMP有助于按数据在过滤器列表中的“位置”过滤数据。
在PM中,我收到一条消息,该消息仅在为过滤器列表扫描的条目唯一的情况下才有效。例如,如果从NAME过滤的alle条目是唯一的,例如,如果您想过滤掉“ Katie”; “简”或“莉莉”。 现在,“ Robert”在“ BIG CLASS”中出现了两次。一旦您也想排除“ Robert”,这种方法就会陷入困境。知道如何解决吗?
新手2
names default to here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
NAME_LIST = dt:NAME << get values ;
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
remove from(NAME_LIST, {1,3,5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where(contains(NAME_LIST, :NAME)) ;
dt_2 = dt << subset(selected rows(1), all columns);
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
close (dt, nosave) ;
回复:如何使用列表[提示,JSL,脚本编制]过滤/清除数据JMP-如何使其适用于重复项?这是一种方法。 唯一的复杂性是将行号矩阵转换为列表
Names Default To Here( 1 );
// Open a sample data table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
/* Get entries/levels from Column NAME and store them in NAME_LIST */
eval(parse("NAME_LIST =as list (" || char(index(1,n rows(dt))) || ")[1];"));
NAME_LIST ;
/* Remove selected entries ("levels") on given position in list = JMP table */
Remove From( NAME_LIST, {1, 3, 5} ); /* {removes: "KATIE", "JANE", "LILLIE" */
/* Cleans data by removing rows using level list */
dt << Select where( Contains( NAME_LIST, Row() ) );
dt_2 = dt << subset( selected rows( 1 ), all columns );
/* Results in a subset without the levels "KATIE", "JANE", "LILLIE" */
Close( dt, nosave );