Data Reduce Size

Giảm kích thước dữ liệu

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);