查找名稱需要另一列中的字串的列我正在嘗試使用名為“Freq”的列中的值並找到另一列。我收到錯誤“無效行”
我正在尋找的專欄可用。 Freq 列是數字。這是問題所在嗎?
例如,Freq 列的一行中的值為 200,那麼我正在尋找 IDynatTsense__200__65 中的值。
代碼:
HashFreqval = Column ( "頻率" );
IDyn = Column ( "IDynatTsense__" ||HashFreqval[]|| "__65" );
錯誤:

基礎資料分析與建模回覆:查找其名稱需要另一列中的字串的列column[]傳回目前row()的值。
row()預設值為 0。
New Table( "test",
Add Rows( 1 ),
New Column( "Freq",
Character,
Set Values( {"200"} )
),
New Column( "IDynatTsense__200__65",
Set Values( [20] )
)
);
HashFreqval = Column( "Freq" );
row()=1;
IDyn = Column( "IDynatTsense__"||HashFreqval[]|| "__65" );回覆:尋找其名稱需要另一列中的字串的列錯誤是由hogi編寫的內容引起的,column()[](與column()[row()]相同)正在查找當前行的值,在JMP中默認為0,這是無效的行號(您可以閱讀關於這一點,請參閱 Iterate on Rows in a Table (jmp.com) )。
您如何使用此程式碼?這很可能不是您正在使用的完整程式碼?您正在尋找“Freq”的價值,但是哪一行以及您是否可能循環它們?您是否試圖從IDynatTsense__200__65 (哪一行?)取得值或只是引用?
回覆:尋找其名稱需要另一列中的字串的列也許我的問題不是很清楚。我附上一個簡單的例子
根據 HashFreq 列中的值,我需要從 Idyn_ 200 _65 或 Idyn_ 400 _65 列中選擇資料。
一旦獲得該數據,我就可以使用公式進一步計算。
Names Default To Here( 1 );
dt1 = Open( "TestDataJunk.jmp" );
HashFreqval = Column( "HashFreq" );
IDyn = Column( "IDynatTsense__"||HashFreqval[]|| "__65" );
dt1 << New Column( "NewVal", Numeric, Continuous, Formula( IDyn[] ));
感謝您的幫忙!
回覆:尋找其名稱需要另一列中的字串的列如果您的資料更加複雜且不需要公式,我很可能只使用 For Each Row
Names Default To Here(1);
dt = Open("$DOWNLOADS/TestDataJunk.jmp");
dt << New Column("NewVal2", Numeric, Continuous);
For Each Row(dt,
val = Column(dt, "HashFreq")[Row()];
val_col = Eval Insert("Idyn_^val^_65");
Column(dt, "NewVal2")[Row()] = Column(dt, val_col)[Row()];
);