Sas: excel'den belirli bir aralık nasıl içe aktarılır


Belirli bir hücre aralığını bir Excel dosyasından SAS’a aktarmak için PROC IMPORT deyimini RANGE seçeneğiyle birlikte kullanabilirsiniz.

Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 /*import data from Excel file called basketball_data.xlsx*/
proc import out =my_data
    datafile ="/home/u13181/basketball_data.xlsx"
    dbms =xlsx
    replace ;
    getnames =YES;
    range ="Sheet1$C4:E11";
run ;

İşte her satırın yaptığı şey:

  • out : SAS’a aktarıldıktan sonra veri kümesine verilecek ad
  • datafile : İçe aktarılacak Excel dosyasının konumu
  • dmbs : İçe aktarılan dosyanın biçimi
  • değiştirin : Zaten mevcutsa dosyayı değiştirir
  • getnames : ilk satırı değişken adları olarak kullanın (ilk satırda değişken adları yoksa HAYIR olarak ayarlayın)
  • aralık : İçe aktarılacak hücre aralığı

Bu özel örneğin, Sheet1’in C4:E11 aralığındaki hücreleri basketbol_data.xlsx adlı Excel dosyasından içe aktaracağını unutmayın.

Aşağıdaki örnekler, bu sözdiziminin, basketbol_data.xlsx adlı aşağıdaki Excel dosyasıyla pratikte nasıl kullanılacağını gösterir:

Örnek 1: Bir Excel dosyasındaki verileri aralık belirtmeden SAS’a aktarın

İçe aktarılacak belirli bir hücre aralığı belirtmeden Excel dosyasını my_data adlı bir SAS veri kümesine aktarmak için aşağıdaki sözdizimini kullanabiliriz:

 /*import data from Excel file called basketball_data.xlsx*/
proc import out =my_data
    datafile ="/home/u13181/basketball_data.xlsx"
    dbms =xlsx
    replace ;
    getnames =YES;
run ;

/*view dataset*/
proc print data =my_data; 

İçe aktarılacak hücre aralığını belirtmek için range ifadesini kullanmadığımız için SAS, sayfadaki verilerle karşılaşana kadar tüm hücreleri içe aktardı.

Örnek 2: Verileri bir Excel dosyasından SAS’a aktarın ve bir aralık belirtin

Excel dosyasını my_data adlı bir SAS veri kümesine aktarmak için aşağıdaki söz dizimini kullanabiliriz ve yalnızca belirli bir hücre aralığını içe aktarmak için aralık seçeneğini kullanabiliriz:

 /*import specific cells from Excel file called basketball_data.xlsx*/
proc import out =my_data
    datafile ="/home/u13181/basketball_data.xlsx"
    dbms =xlsx
    replace ;
    getnames =YES;
range ="Sheet1$C4:E11";
run ;

/*view dataset*/
proc print data =my_data; 

İçe aktarılacak hücre aralığını belirtmek için range ifadesini kullandığımızdan, SAS sayfadan yalnızca o aralıktaki hücreleri içe aktardı.

Ayrıca range ifadesine adlandırılmış bir aralık iletebileceğinizi unutmayın.

Örneğin, C4:E11 hücre aralığının benim_aralığım adında bir aralığı varsa, bunun yerine PROC IMPORT deyiminde range=”my_range” bağımsız değişkenini kullanabilirsiniz.

Not : SAS’taki PROC IMPORT bildiriminin tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde SAS’ta diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

CSV dosyaları SAS’a nasıl aktarılır
Veriler SAS’tan CSV dosyasına nasıl aktarılır
Veriler SAS’tan Excel’e nasıl aktarılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir