Einzelnen Beitrag anzeigen

Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: Suche Code zum Lesen von 'sas transport files'

  Alt 17. Jun 2008, 09:26
Moin, moin

Ja leider gibt es mindestens zwei Arten von SAS-Transportfiletypen
und die können nur von ihrer jeweiligen Routine gelsen werden:

1. SAS Transport Format, das von der xport engine erstellt wurde.
___Datenaustausch zwischen jeder SAS Version
___Datenaustausch zwischen allen Betriebssystemen mit SAS
___Feldnamen können nur acht Zeichen lang sein.

SAS-Routine
Code:
 Libname in1 xport "e:\sasclass\data\newhhs.02";
Danke hathor! Mit dem 3. Link ist schon mal das 1.Format zu finden.


2. SAS Transport Format, das mit PROC CPORT erstellt wurde.
___Datenaustausch zwischen jeder SAS Version
___Datenaustausch zwischen allen Betriebssystemen mit SAS
___Feldnamen können nur 32 Zeichen lang sein.
___Charactervariablen können bis zu 32k Daten enthalten.

SAS-Routine
Code:
filename inx "c:\my data\csf9805b.xpt";
  proc cimport data=demograph1    /* file goes into WORK library name it whatever you want */ 
  infile=inx;   /* use the fileref only */ 
run;

/* data set work.demograph is the current version of SAS */ 
proc contents data=demograph1;
run;
Aufgrund der längeren Variablennamen interessiert mich nun das 'xpt' Format.

Der Hintergrund ist, dass ich ein Datenasustauschformat suche wo SAS Variablennamen und Variablentyp in einem File hält. DBase würde gehen, hat aber leider ähnliche Restriktionen wie das 1. Transportfile-Format. Excel geht leider auch nicht, da ich gut 1500 Variablen habe, aber die SAs-Routinen hier nur 256 Felder zulassen, was es umständlich macht.


Viele Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat