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-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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