Jmp : 选择哪里<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />您好,我会尝试通过在脚本中选择位置来生成新表,并将子表与另一个表合并
我成功地生成了一个成功的脚本,除非 Select Where 没有找到符合条件的行?
你知道如果 select where return nothing 我怎么能跳过脚本中的连接表部分吗
问候
塞巴斯蒂安
回复:Jmp:选择哪里另外两个例子使用如果( !是空的和我的首选尝试(方法示例:
名字默认到这里( 1个) ;
// 打开数据表并进行一些更改
dt =打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
dt <<设置名称( “桌子” ) <<
新建专栏( “身高体重” ,公式( :重量/ :高度) ) ;
// 打开另一个数据表
dt2 =打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
dt2 <<选择哪里( :性别== “问” ) ;
dt3 = dt2 <<子集(
选定的行( 1个) ,
仅选定的列( 0 )
) ;
如果( !是空的( dt3 ) , //如果选择的行== 0 dt3是一个空变量
dt4 = dt <<加入(
和( dt3 ) ,
通过匹配列( :姓名= :姓名) ,
下降倍数( 0 , 0 ) ,
包括不匹配项( 0 , 0 ) ,
保留主表顺序( 1个)) , //无表打印错误日志
打印( “空子集表” )
) ;
尝试( dt4 = dt <<加入(
和( dt3 ) ,
通过匹配列( :姓名= :姓名) ,
下降倍数( 0 , 0 ) ,
包括不匹配项( 0 , 0 ) ,
保留主表顺序( 1个))
, //捕获表达式
打印( “加入失败” )) ;
回复:Jmp:选择哪里你好seb38.cremer ,
多发性硬化症给出了正确的答案。但是,如果以下内容不够明确:
名字默认到这里( 1个) ;
// 打开数据表并进行一些更改
dt =打开( “$SAMPLE_DATA/Big Class.jmp” ) <<
设置名称( “桌子” ) <<
新建专栏( “身高体重” ,公式( :重量/ :高度) ) ;
// 打开另一个数据表
dt2 =打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
// 而不是使用 select 使用 get rows where - 它更健壮
选择= dt2 <<获取行在哪里( :年龄== 12 ) ;
// 看看有没有被选中。如果是子集并加入
如果( N行(选择) > 0 ,
dt3 = dt2 <<子集(
行数(选择) ,
选定的列( 0 ) // 带来所有列
) ;
// 现在加入
dt3 <<加入(
和(数据表( “桌子” ) ) ,
通过匹配列( :姓名= :姓名) ,
下降倍数( 0 , 0 ) ,
姓名( “包括不匹配项” )( 0 , 0 ) ,
保留主表顺序( 1个)
) ;
) ;
回复:Jmp:选择哪里可能有几种方法可以做到这一点。 这是一个应该可行的想法,如果选择哪里()已应用:
如果( N行( dt <<获取行(已选())) > 0 ,
dtsub <<加入( ... )
) ;
另一个想法没有选择哪里()仅当任何行符合条件时才构成子集(与“F”代替“Q”进行比较):
dt =打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
r = dt <<获取行在哪里( :性别== “问” ) ;
如果( N行( r ) ,
( dt <<子集(行( r ))) <<加入(和( dt ))
) ;