涉及兩個獨立數據表的操作如何進行?<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 <<新專欄( “商” ,數字,連續的,價值觀(瓦爾斯)) ;