Read Text File with DSL (from Fraktal SAS Programming)

Aus phenixxenia.org
Version vom 4. August 2014, 16:34 Uhr von Wolf-Dieter Batz (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Zurück

Übersicht

Vorwärts

What is this?

SAS can read directly from any text file. Moreover SAS can read directly from any data source that has text file properties, such as FTP, HTTP, or XML, also from named pipes and DDE hotlinks.

When intending to read from a plain text file, you simply specify path and filename along with a description of the record structure. The text file shall look like this:

Royal Inn#King's Suite#4#540
The European#Standard#1#120
St.Peter's#Business#2#333


Documented Code

Code executed Function performed
filename source "&PATH.\&FILENAME.";
Generate a file reference with OS path and file name incl. extension.
data hotels;
Initiate data step processing with a DATA statement.
infile source dlm = '#';
Use fileref from above as source with the number sign '#' as field delimiter.
length hotel $16 category $16 no_of_beds rate_in_GBP 8;
Allocate field space by supplying length in bytes and data type.
input hotel $ category $ no_of_beds rate_in_GBP;
Specify data structure on text file.
run <cancel>;
End the data step run-group (use "cancel" for syntax check only).
filename source clear;
Clear file reference thus un-locking the file referenced.


Results

When issuing the phrase "vt hotels" in the command window of your SAS session, the following table might pop-up in a "Viewtable Window":

hotel category no_of_beds rate_in_GBP
Royal Inn King's Suite 4 540
The European Standard 1 120
St.Peter's Business 2 333

Zurück

Übersicht

Vorwärts