特定の列のみを開く()方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、大きなJMPデータテーブルがある場合、特定の列にのみ読み込まれるメッセージをOpen()に送信する方法はありますか?これにより、大きなファイルのファイルの読み込み時間が大幅に短縮されます。たとえば、このファイルがある場合:
Open( "c:\ temp \ fruit.jmp");
たとえば、fruit.jmpにはさまざまなフルーツタイプの200列が含まれており、これらすべてにアクセスする必要があるかもしれませんが、現時点では1つの列「Apple」にロードするだけでファイルのロード時間を短縮できます。大きなデータファイルを最初に開く必要があり、ここでの目的は必要な列にのみロードすることでファイルのロード時間を短縮することであるため、後続のSubset()を実行すると目的が無効になります。私は次のようなものが機能することを望んでいましたが、もちろん機能しません:
Open( "c:\ temp \ fruit.jmp"、columns( "Apple"));
提案?thx ... dj
特定の列のみを開く()方法わかりました、私はこれを理解したかもしれないと思います。私は最終的に過去からの有用な投稿を見つけました。スクリプトガイドですべてのOpen()属性を検索しましたが、代わりにOpen Database()コマンドを使用せずにこれを行う方法はありません。基本的には、最初にソースの.jmpを.xlsファイルに変換する必要があります。他の誰かを助ける場合に備えて、これを投稿したかっただけです。dj
http://communities.sas.com/message/50379#50379
そこで、最初に「fruit.jmp」を「fruit.xls」に変換します。そうすれば、JSLにExcel ODBC DSN接続と少しのSQLコードを使用して、必要な列のみをプルさせることができます。たとえば、Excelデータテーブルにワークシート「Sheet1」があり、その中に「Apple」という列があり、時間を節約するために、この列のみをロードし、このワークシートの他の列はロードしないとします。以下のこのコードはトリックを行います:
dt = Open Database( "DSN = Excel Files; DBQ = c:\ temp \ fruit.xls; DriverId = 790; MaxBufferSize = 2048; PageTimeout = 5;"、 "SELECT Apple FROM` Sheet1 $ `"、 "Fruit Table" );