Mục lục
Tổng quan
Data xây dựng mô hình được import từ nhiều nguồn khác nhau (SQL, Excel, Csv). Trong nhiều trường hợp, định dạng dữ liệu trong các file này không đúng. Một số ví dụ phổ biến như sau:
- Độ dài các biến chữ quá lớn: SQL thường sử dụng
nvarchar(max)
, khi import dữ liệu này vào SAS, độ dài của biến chữ quá lớn dẫn đến kích thước dữ liệu quá nặng không cần thiết. - Các biến ngày tháng được hiểu không đúng định dạng: Các biến ngày tháng khi import từ dữ liệu SQL thường có định dạng text (ví dụ ‘2020-01-08’). Việc convert các biến này thành đúng định dạng đôi khi tốn nhiều thời gian.
- Dữ liệu chứa các biến không cần thiết cho quá trình xây dựng mô hình dẫn tới kích thước dữ liệu tăng lên, ảnh hưởng tới các quá trình phân tích dữ liệu.
Macro Data_Reduce_Size
với mục đích xử lý hai vấn đề trên:
- Với biến chữ có độ dài lớn, macro giảm thiểu độ dài xuống ngắn nhất có thể (và vẫn dữ nguyên thông tin của dữ liệu).
- Với các biến ngày tháng định dạng sai, macro chuyển các biến này thành đúng định dạng là format
YYMMDD10.
của SAS (dữ liệu sẽ hiển thị là 2020-01-08).
Sử dụng Macro
Syntax
Cú pháp của macro như sau:
%Data_Reduce_Size(ds_in, ds_out, date_varlist);
Trong đó:
ds_in
(data[date_varlist
]) là data đầu vào.ds_out
(data) là data đầu ra.date_varlist
(list) là danh sách các biến ngày tháng bị sai định dạng.
Detail
Output
Kết quả đầu ra của Macro như sau
Report
Macro trả về bảng thể hiện kết quả trước và sau khi giảm kích thước dữ liệu:
Dữ liệu
Kết quả đầu ra của Macro là dữ liệu ds_out
với các biến định dạng ký tự (biến character) đã được rút gọn độ dài tối thiểu và các biến dạng date time đã được chuyển về đúng định dạng YYYY-MM-DD.
Example
Ví dụ dữ liệu data.import với các cột có ý nghĩa ngày tháng nhưng bị định dạng sai:
%Reduce_Size(data.import, data.import1,
date_varlist=
creation_date
min_value_date
date_of_issue
cur_start_living_date
emp_start_work_date
cus_open
min_bd_coll);