大家好,
在我之前的帖子中,我面臨子集數據問題。 我使用硬編碼將子集數據表一一列出。
但是現在我想要動態代碼,我不想一一列出(硬編碼)的原因之一是如果將來我在一個數據集中有 50 個 FD,所以我不可能列出 FD 一個對嗎?
我嘗試使用下面的腳本,但仍然有錯誤,它只為我打印第一個 f_d 的子集數據表。
那麼,我怎樣才能迭代到 5 f_d?(因為現在我有 5 f_d)
謝謝。
dt = Open( <PATH to="" open="" data="https://community.jmp.com/" table="">);
// Change the column name "F D" to "f_d"" to match the example
dt:F D << set name( "f_d" );
a = {"S_GX_F40", "S_GX_Z40","S_III_E110","S_III_E80","S_III_SL150"};
dt << Select Where( Starts With( :f_d, a[1] ) );<BR />baseDT = dt << Subset( output table name( "Subset" ), selected rows( 1 ), selected columns( 0 ) );<BR />For( i = 1, i <= N Items( a ), i++,<BR />dt << Select Where( Starts With( :f_d, a ) );<BR />TempDT = dt << Subset( output table name( "Subset" ), selected rows( 1 ), selected columns( 0 ) );<BR />baseDT = baseDT << concatenate( TempDT, append to first table( 1 ) );<BR />Close( TempDT, nosave );<BR />);<BR />
</PATH>
感謝 Craige_Hales 的回复。
但我現在只能生成單個子集數據表。
如何生成所有子集數據表?我在那裡有 5 個 f_d,所以我需要生成 5 個子集數據表。
在我的編碼中,我使用了循環,但它似乎無法運行。
謝謝
該列是字符列嗎? 在消息中,“a”上沒有下標,這可能意味著它是一個列表而不是列表的一個元素。
dt = Open( "$sample_data/big class.jmp" );
letters = {"B", "C"};
dt << selectWhere( Starts With( dt:name, letters[2] ) );
dt << subset( selected rows( 1 ) );
Names starting with CC開頭的名字
當我運行腳本時,它一直出現此錯誤:
在訪問或評估 'Starts With' 、Bad Argument( S )、Starts With/*###*/(:f_d, a) 時,參數應該是字符{1}
那麼,我該如何解決呢?
謝謝。