Sas: excel から特定の範囲をインポートする方法


PROC IMPORTステートメントをRANGEオプションとともに使用すると、特定のセル範囲を Excel ファイルから SAS にインポートできます。

これを行うには、次の基本構文を使用できます。

 /*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 ;

各行の動作は次のとおりです。

  • out : SAS にインポートされたデータセットに付ける名前
  • datafile : インポートする Excel ファイルの場所
  • dmbs : インポートされるファイルの形式
  • replace : ファイルがすでに存在する場合はファイルを置き換えます
  • getnames : 最初の行を変数名として使用します (最初の行に変数名が含まれていない場合は NO に設定します)
  • range : インポートするセルの範囲

この特定の例では、 Basketball_data.xlsxという Excel ファイルからSheet1の範囲C4:E11のセルをインポートすることに注意してください。

次の例は、この構文を、 Basketball_data.xlsxという Excel ファイルで実際に使用する方法を示しています。

例 1: 範囲を指定せずに Excel ファイルから SAS にデータをインポートする

次の構文を使用すると、インポートするセルの特定の範囲を指定せずに、Excel ファイルをmy_dataという名前の SAS データセットにインポートできます。

 /*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; 

rangeステートメントを使用してインポートするセルの範囲を指定しなかったため、SAS はシート内のデータが検出されるまですべてのセルをインポートしました。

例 2: Excel ファイルから SAS にデータをインポートし、範囲を指定する

次の構文を使用して Excel ファイルをmy_dataという名前の SAS データセットにインポートし、範囲オプションを使用して特定の範囲のセルのみをインポートできます。

 /*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; 

rangeステートメントを使用してインポートするセルの範囲を指定したため、SAS はその範囲内のセルのみをシートからインポートしました。

名前付き範囲をrangeステートメントに渡すこともできることに注意してください。

たとえば、セル範囲C4:E11my_rangeという名前の範囲がある場合、代わりにPROC IMPORTステートメントで引数range=”my_range”を使用できます。

: SAS のPROC IMPORTステートメントの完全なドキュメントは、 ここで見つけることができます。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

CSV ファイルを SAS にインポートする方法
SAS から CSV ファイルにデータをエクスポートする方法
SAS から Excel にデータをエクスポートする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です