如何打开多个表,将它们合并到内存中,并找出小计的结果?例如,“ c:\ 1 \”路径中有五个数据文件,它们看起来像“ Big Class.jmp”结构。
如何在没有“连接”的情况下按内存的5个文件按“年龄”列对“高度”列的数据进行分类和汇总。
就像在以下代码中实现的那样实现效果:
dir = "c:\1\";
Fs = Files In Directory( dir );
For( d = 1, d <= 5, d++,
d1 = Open( dir || fs[d] );
If( d == 1,
d2 = d1,
d2 << Concatenate( Data Table( d1 ), Append to first table );
Close( d1, nosave );
);
);
d1 = d2<< Summary(
Group( :age ),
Sum( :height ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
脚本编写回复:如何打开多个表,将它们合并到内存中,并找出小计的结果?这是代码的内存版本。它不会创建任何视觉对象,也不会占用视觉组件的任何内存,并且会创建2个内存项,1个列表和1个带结果的矩阵。
names default to here(1);
dt = open("$SAMPLE_DATA/big class.jmp",private);
dt << set name("zippy");
dt2 = open("$SAMPLE_DATA/big class.jmp",private);
dt3 = dt2<< Concatenate( dt,private );
close(dt,nosave);
close(dt2,nosave);
summarize( dt3, bygroup = by(:age), heightSum = sum(:height));
close(dt3,nosave);
show(bygroup,heightSum);