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;

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Discussion stats
  • 1 reply
  • 2538 views
  • 0 likes
  • 2 in conversation