BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.

---------------------------------------

※この質問はサンプルです。

---------------------------------------

 

IMPORTプロシジャでCSVファイルを読み込む際に、文字変数の値が切れてしまうことがあります。
変数の長さを指定するなどで文字切れを回避することはできますか。

1 ACCEPTED SOLUTION

Accepted Solutions
fujiyama
SAS Employee

直接変数の長さを指定することはできませんが、最新のSAS9ではIMPORTプロシジャで新たに追加されたGUESSINGROWS=オプションで対応できます。

 

このオプションで指定された範囲内のデータから、変数,データ型,データ長を判断します。

オプション指定には事前に読み込む最大の行数を指定します。

指定可能な値の範囲は1~32767までです。次の例では、GUESSINGROWS=オプションを使用して先頭から200行までのデータを事前に読み込み、データの判定を行なわせています。

 

例:GUESSINGROWS=オプションで先頭から200行を読み込む

PROC IMPORT OUT= WORK.test

DATAFILE="C:¥temp¥test.csv"

DBMS=CSV REPLACE;

GETNAMES=YES;

DATAROW=2;

GUESSINGROWS=200; /* 先頭から 200行を読み込む */ RUN;

View solution in original post

1 REPLY 1
fujiyama
SAS Employee

直接変数の長さを指定することはできませんが、最新のSAS9ではIMPORTプロシジャで新たに追加されたGUESSINGROWS=オプションで対応できます。

 

このオプションで指定された範囲内のデータから、変数,データ型,データ長を判断します。

オプション指定には事前に読み込む最大の行数を指定します。

指定可能な値の範囲は1~32767までです。次の例では、GUESSINGROWS=オプションを使用して先頭から200行までのデータを事前に読み込み、データの判定を行なわせています。

 

例:GUESSINGROWS=オプションで先頭から200行を読み込む

PROC IMPORT OUT= WORK.test

DATAFILE="C:¥temp¥test.csv"

DBMS=CSV REPLACE;

GETNAMES=YES;

DATAROW=2;

GUESSINGROWS=200; /* 先頭から 200行を読み込む */ RUN;

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Discussion stats
  • 1 reply
  • 2408 views
  • 0 likes
  • 2 in conversation