我在閱讀期間'。'作爲字符變量的值,但它將其讀取爲空白值。在SAS中讀取一個字符值的時間段
data output1;
input @1 a $1. @2 b $1. @3 c $1.;
datalines;
!..
1.3
;
run;
Output Required
------ --------
A B C A B C
! ! . .
1 3 1 . 3
請幫助我閱讀這段時間。
我在閱讀期間'。'作爲字符變量的值,但它將其讀取爲空白值。在SAS中讀取一個字符值的時間段
data output1;
input @1 a $1. @2 b $1. @3 c $1.;
datalines;
!..
1.3
;
run;
Output Required
------ --------
A B C A B C
! ! . .
1 3 1 . 3
請幫助我閱讀這段時間。
輸出被使用($ W的資料,請在你的情況了信息,通過$1.
在你的代碼要求確定的,所以$1.
是首先了信息定義的,可變的lenght定義是這個的副產品)。
使用$ char。所需結果的信息。
data output1;
input @1 a $char1. @2 b $char1. @3 c $char1.;
datalines;
!..
1.3
;
run;
從技術文檔:
$ W INFORMAT 的$ W上。信息修剪前導空白並在存儲文本之前對齊值。另外,如果一個字段僅包含空白和單個句點,則$ w。將期間轉換爲空白,因爲它將期間解釋爲缺失值。 $ w。信息將字段中的兩個或更多個時段視爲字符數據。
$ CHARw。信息 $ CHARw。信息不會在存儲值之前修剪前導空白和尾隨空白,或者在輸入數據字段中將單個句點轉換爲空白。
我不會立即明白爲什麼它不起作用。 但是,如果你不知道爲什麼它不起作用,但只是想要一些東西:將其作爲一個長度爲3美元的變量讀取。然後在下一步;使用substr分割它。
例如,
data output1;
length tmp $3;
input tmp;
datalines;
!..
1.3
;
run;
data output2 (drop=tmp);
length a $1;
length b $1;
length c $1;
set output1;
a=substr(tmp,1,1);
b=substr(tmp,2,1);
c=substr(tmp,3,1);
run;
感謝您的意見。但是我需要把它看作一個無法做到的單個角色。 – athresh
這是驚人的!非常感謝 – athresh