Site Banner
【02】資料管理|資料集與資料館的基礎

【02】資料管理|資料集與資料館的基礎


目錄


資料集 – Dataset

這邊所講的資料集都是指 SAS Dataset,而它又可以分為兩種類型,分別是 SAS File 與 SAS Views:

※補充:SAS Dataset VS External Dataset

SAS Dataset
  • SAS 能辨別、格式化紀錄資料的資料集
  • 文章內如未特別註明,皆指 SAS Dataset(如 SAS File、SAS Views)
External Dataset
  • 不屬於 SAS Dataset 的資料,例如 Csv、Txt 等

SAS File

實體檔案類型的資料集,包含觀察值與變數屬性 (Descriptive information)

分為兩種:

  • Native SAS Data file:以 SAS 格式儲存,副檔名為 .sas7bdat
  • Interface SAS Data file:其他格式如 DB2、SPSS 等。連結資料館後,SAS 會視為 Native 檔案使用

SAS View

虛擬資料集,用來指向某資料集,不儲存觀察值,只記錄變數與屬性
功能上與 SAS File 類似,但不佔儲存空間。


資料集命名規則

  • 以英文字母或底線開頭
  • 可含英文字母、底線與數字
  • 長度不超過 32 Bytes
  • 保留名稱不可使用:_NULL_, _DATA_, _LAST_

資料館 – Library

SAS 中包含一組資料集的容器,可分為永久與暫時資料館。

☀ 永久資料館

  • 關閉 SAS 後仍存在,指向實體儲存路徑
  • 重開需重新使用 libname 指令關聯資料館

☂ 暫時資料館

  • 每次開啟 SAS session 自動生成的 WORK
  • 關閉 SAS 後內容即消失

如何建立與連結資料館?

Libname 敘述句

Libname Test "physical-path";
  • 將實體資料夾關聯為 SAS Library
  • 可調整參數連接 Native 或 Interface SAS Data file

SQL Pass-Through Facility – Connect to

Proc SQL;
  connect to Oracle as ORI
    (user=Admin pw=test123 path="Test" connection=global);
quit;
  • 只能連接 Interface 類型資料
  • 第 1, 4 行為 Proc SQL 標準語法
  • 第 2~3 行視資料庫類型填參數

資料館命名規則

  • 以英文字母或底線開頭
  • 可含英文字母、底線、數字
  • 長度不超過 8 Bytes
  • 保留名稱不可使用:sashelp, sasmsg, sasuser, work

資料集與資料館命名結構

前面介紹了資料館與資料館,最後就來介紹它們的命名結構吧! SAS資料集是由3個命名層級構成的,分別是Library、Dataset、Member Type,中間以「點(DOT)」間隔

相信大家現在對於Library、Dataset已經有相當的瞭解了,那麼Member Type是什麼呢? 其實它是SAS一種內建用來辨別的標籤,判斷這個資料集屬於哪一種類型。 常見的有:Data、View、CATALOG、INDEX等。 但一般來說我們在程式碼使用Dataset時,不需要特別寫上Member Type這個層級,在特殊場合下才會使用到。 如果是使用資料集的資料時,只需要寫出Library與Dataset這2個層級就好。

One-Level Names

僅由Dataset所組成的命名 其實它骨子是Two-Level Names,Library是WORK暫時資料館

Two-Level Names(WORK)

與上面寫法有相同的結果,兩種都適用

Two-Level Names

由Library與Dataset所組成的命名 當使用大量不同的資料館時,建議都以Two-Level Names命名,能有效辨別程式中不同區塊所使用的資料館