SAS - Ham Verileri Oku

SAS, birçok dosya formatını içeren çeşitli kaynaklardan veri okuyabilir. SAS ortamında kullanılan dosya formatları aşağıda tartışılmaktadır.

  • ASCII (Metin) Veri Kümesi
  • Sınırlandırılmış Veriler
  • Excel Verileri
  • Hiyerarşik Veriler

ASCII (Metin) Veri Kümesini Okuma

Metin formatındaki verileri içeren dosyalardır. Veriler genellikle bir boşlukla sınırlandırılır, ancak SAS'ın da işleyebileceği farklı sınırlayıcı türleri olabilir. Çalışan verilerini içeren bir ASCII dosyası düşünelim. Bu dosyayı kullanarak okuyoruzInfile açıklama SAS'da mevcuttur.

Misal

Aşağıdaki örnekte, adlı veri dosyasını okuyoruz emp_data.txt yerel çevreden.

data TEMP; 
   infile 
   '/folders/myfolders/sasuser.v94/TutorialsPoint/emp_data.txt'; 
   input empID empName $ Salary Dept $ DOJ date9. ;
   format DOJ date9.;
   run;
   PROC PRINT DATA = TEMP;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki çıktıyı alıyoruz.

Sınırlandırılmış Verileri Okuma

Bunlar, sütun değerlerinin virgül veya boru hattı vb. Gibi sınırlayıcı bir karakterle ayrıldığı veri dosyalarıdır. Bu durumda, dlm seçeneği infile Beyan.

Misal

Aşağıdaki örnekte yerel ortamdan emp.csv adlı veri dosyasını okuyoruz.

data TEMP; 
   infile 
   '/folders/myfolders/sasuser.v94/TutorialsPoint/emp.csv' dlm=","; 
   input empID empName $ Salary Dept $ DOJ date9. ;
   format DOJ date9.;
   run;
   PROC PRINT DATA = TEMP;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki çıktıyı alıyoruz.

Excel Verilerini Okuma

SAS, ithalat aracını kullanarak doğrudan bir excel dosyasını okuyabilir. SAS veri kümeleri bölümünde görüldüğü gibi, MS excel dahil çok çeşitli dosya türlerini işleyebilir. Emp.xls dosyasının SAS ortamında yerel olarak mevcut olduğunu varsayarsak.

Misal

FILENAME REFFILE
"/folders/myfolders/TutorialsPoint/emp.xls"
TERMSTR = CR;

PROC IMPORT DATAFILE = REFFILE
DBMS = XLS
OUT = WORK.IMPORT;
GETNAMES = YES;
RUN;
PROC PRINT DATA = WORK.IMPORT RUN;

Yukarıdaki kod, verileri excel dosyasından okur ve yukarıdaki iki dosya türü ile aynı çıktıyı verir.

Hiyerarşik Dosyaları Okuma

Bu dosyalarda veriler hiyerarşik formatta mevcuttur. Belirli bir gözlem için, altında birçok ayrıntı kaydının belirtildiği bir başlık kaydı vardır. Ayrıntı kayıtlarının sayısı bir gözlemden diğerine değişebilir. Aşağıda, hiyerarşik bir dosyanın bir örneği bulunmaktadır.

Aşağıdaki dosyada, her departmanın altındaki her çalışanın ayrıntıları listelenmiştir. İlk kayıt, departmandan bahseden başlık kaydıdır ve DTLS ile başlayan sonraki kayıt birkaç kayıt, ayrıntı kaydıdır.

DEPT:IT 
DTLS:1:Rick:623 
DTLS:3:Mike:611 
DTLS:6:Tusar:578 
DEPT:OPS
DTLS:7:Pranab:632
DTLS:2:Dan:452
DEPT:HR
DTLS:4:Ryan:487
DTLS:2:Siyona:452

Misal

Hiyerarşik dosyayı okumak için, başlık kaydını bir IF cümlesiyle tanımladığımız ve ayrıntı kaydını işlemek için bir do döngüsü kullandığımız aşağıdaki kodu kullanırız.

data employees(drop = Type);
   length Type $ 3  Department
      empID $ 3 empName $ 10 Empsal 3 ;
   retain Department;
   infile 
   '/folders/myfolders/TutorialsPoint/empdtls.txt' dlm = ':';
   input Type $ @;
   if Type = 'DEP' then 
      input Department $;
   else do;
      input empID  empName $ Empsal ;
      output;
   end;
run;

   PROC PRINT DATA = employees;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki çıktıyı alıyoruz.