私はこの問題がかなり解決しやすいRからSASに来ています。PROCで文字列で空の値を指定するIMPORT
%Macro
機能を持つCanSim CSVファイル(1つはexample table here)を読み込もうとしています。
%Macro ReadCSV (infile , outfile);
PROC IMPORT
DATAFILE= &infile.
OUT= &outfile.
DBMS=CSV REPLACE;
GETNAMES=YES;
DATAROW=2;
RUN;
%Mend ReadCSV;
%ReadCSV("\\DATA\CanSimTables\02820135-eng.csv", work.cs02820135);
%ReadCSV("\\DATA\CanSimTables\02820158-eng.csv", work.cs02820158);
問題は、数値Value
列が持っている「..」すべてのCSVの値が欠落している時はいつでもです。これは、IMPORT
がこの文字列で行を取得したときにエラーを生成しています。
IMPORT
に「..」を削除するか、欠損値として扱うべきかを教える方法はありますか? (私はDSD
オプションを参照してフォーラムを見つけましたが、それはここで私を助けるようには思われません)
ありがとう!
ファイルのレイアウトは毎年同じですか?もしそうなら、ファイルを読むためのデータステップを書くだけでよいのです。次に、データの読み込み方法を制御できます。 – Tom
正確に何を意味するのかわかりませんが、いいえ(?):各CSVファイルでは、行はファイルごとに異なる位置と時間でインデックスされます。列(番号とその名前)が異なります。しかし、類似点があります。たとえば、数値は常に「値」という列にあります。それが私を助けますか? –
SASログを貼り付けてください。 SASログには、使用されたインポートおよびデータステップに関する情報が表示されます。これをテンプレートとして使用して、動作を変更できます。 – Altons