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

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

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