涉及两个独立数据表的操作如何进行?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />例如,当我想划分时数据表 1 中第 1 列的每个值经过数据表 2 中第 2 列的每个值。 我这样做似乎遇到了问题,我想知道为什么会弹出此错误“范围数据表访问需要数据表列或变量{1}在访问或评估‘dtbinsum:column’、dtbinsum:column/*### */(行数) /*###*/"
我的脚本部分如下所示:
//脚本开始
dt = 当前数据表();
dtbinsum = dt << 摘要(
组(:数据文件,:批次 ID,:SBIN ),
频率(“无”),
重量(“无”),
统计列名格式( "column" ),
链接到原始数据表( 0 )
);
dtbinsum<< 选择其中( dtbinsum:sbin != 1 );
dtbinsum<< 删除行;
dtbinsum2 = dt << 摘要(
组(:批号),
N(:SBIN),
频率(“无”),
重量(“无”)
);
产量={};
for(i=0, i
Yield_temp = (dtbinsum:列(Nrows ))/(dtbinsum2:列(N(SBIN) ));
插入(产量,yield_temp);
);
显示(产量);
//脚本结束
我知道我的方法可能不是最有效的方法,更不用说显示的错误了,但是有人有解决方案吗?
回复:涉及两个独立数据表的操作如何进行?这是我收到以下错误之前所取得的进展:
名称未解析:在访问或评估 " 时,Name(" ")/*###*/
代码:
dt1 =数据表( “主表” ) ;
dt2 =数据表( “REF表分割” ) ;
列= dt1 <<获取列名(细绳) ;
为了(我= 2 ,我<= N 列( dt1 ) ,我++,
一列=列[我] ;
瓦尔斯= (柱子( dt1 ,一列) <<获取值)
(柱子( dt2 ,一列) <<获取值) ;
dt1 <<新专栏(一列,数字,价值观(瓦尔斯)) ;
) ;
该脚本设法在循环中转一圈,从而创建具有正确值的一列。
回复:涉及两个独立数据表的操作如何进行?您能给我一些关于如何修改您的公式以在 for 循环中工作的建议吗?
它应该与您的脚本执行相同的操作,但对于所有列,新表的名称应该是列 aquiered + 的标题商
dt1 = 数据表(“主表”);
dt2 = 数据表(“参考表”);
列= dt <<获取列名(细绳) ;
for ( i = 2, i <= N 列 (myTable), i++,
// 我已经尝试了对主表中列的不同版本的引用,但我无法让它工作
瓦尔斯= (柱子( dt1 ,第(i)栏) <<获取值)
(柱子( dt2 ,列(我) ) <<获取值) ;
dt1 <<新专栏(列,数字,连续的,价值观(瓦尔斯)) ;
);
BR
安德斯
回复:涉及两个独立数据表的操作如何进行?谢谢伊恩,既然你指出了它的元素明智操作,它现在就很有意义了。
回复:涉及两个独立数据表的操作如何进行?(柱子( dt1 , “分子” ) <<获取值)将指定列中的值放入行向量(在本例中,与 v1 相同)。 (柱子( dt2 , “分母” ) <<获取值)对另一列执行相同的操作(实际上与 v2 是相同的行向量)。 然后是:\运算符要求进行逐元素除法,即将第一个向量的第一个元素除以第二个向量的第一个元素,以获得结果向量的第一个元素(其他元素依此类推)。
请查看“帮助 > 书籍 > 脚本指南”第 7 章中的“矩阵”部分。
回复:涉及两个独立数据表的操作如何进行?谢谢伊恩,它对我有用,但我可以特别问你关于这条线的事情吗?
瓦尔斯= (柱子( dt1 , “分子” ) <<获取值)
(柱子( dt2 , “分母” ) <<获取值) ;
^
我理解JSL的方式是帮助识别列的冒号,如果这样使用,它是如何工作的?
回复:涉及两个独立数据表的操作如何进行?也许是这样的:
名称默认到这里( 1 ) ;
// 制作几个表
v1 = J ( 10 , 1 ,随机整数( 1 , 5 )) ;
v2 = J ( 10 , 1 ,随机整数( 1 , 5 )) ;
dt1 =新表( “表格1” ,新专栏( “分子” ,数字,序数,价值观( v1 ))) ;
dt2 =新表( “表2” ,新专栏( “分母” ,数字,序数,价值观( v2 ))) ;
// 在表 1 中添加一个商列
等待( 3 ) ;
瓦尔斯= (柱子( dt1 , “分子” ) <<获取值)
(柱子( dt2 , “分母” ) <<获取值) ;
dt1 <<新专栏( “商” ,数字,连续的,价值观(瓦尔斯)) ;