Proc SQL Advanced

Các lệnh nâng cao của [Proc SQL](https://documentation.sas.com/?docsetId=sqlproc&docsetTarget=n0w2pkrm208upln11i9r4ogwyvow.htm&docsetVersion=9.4&locale=en)

Mục lục

Sub query

Tạo biến Macro trong PROC SQL

Tạo biến macro

Như ta đã biết trong phần Biến Macro. Các biến Macro trong SAS được sử dụng để thay thế các string lặp lại nhiều lần. Mục này sẽ nói đến việc tạo biến macro bằng các sử dụng PROC SQL.

Biến Macro có thể được tạo ra dễ dàng bằng PROC SQL bằng cú pháp như sau:

	SELECT [AGG FUNC] 
		INTO :MACRO_VAR 
		FROM [TABLE]

Ví dụ như sau:

PROC SQL NOPRINT;
	SELECT MEAN(MSRP) INTO :MEAN_MSRP FROM SASHELP.CARS;
QUIT;

Đoạn code lấy giá trị trung bình của cột MSRP và gán vào macro MEAN_MSRP. Có thể kiểm tra lại bằng code:

%PUT &=MEAN_MSRP;

Có thể tạo nhiều biến macro trong cùng một câu lệnh như sau:

PROC SQL NOPRINT;
	SELECT MIN(MSRP), MEAN(MSRP), MAX(MSRP) 
		INTO :MIN_MSRP, :MEAN_MSRP, :MAX_MSRP 
			FROM SASHELP.CARS;
QUIT;

/*Check values of macro variables:*/
%PUT &=MIN_MSRP;
%PUT &=MEAN_MSRP;
%PUT &=MAX_MSRP;

Kết quả nhận được như sau:

Output Macros
Giá trị của các macro

Chú ý rằng, giá trị của macro MIN_MSRP, MAX_MSRP có khoảng trắng ở đầu. Do đó để chính xác hơn ta sử dụng TRIMMED:

PROC SQL NOPRINT;
	SELECT MIN(MSRP), MEAN(MSRP), MAX(MSRP) 
		INTO :MIN_MSRP TRIMMED, :MEAN_MSRP TRIMMED, :MAX_MSRP TRIMMED
			FROM SASHELP.CARS;
QUIT;

/*Check values of macro variables:*/
%PUT &=MIN_MSRP;
%PUT &=MEAN_MSRP;
%PUT &=MAX_MSRP;

Kết quả nhận được đã chính xác hơn:

Output Macros
Giá trị của các macro với trimmed

Gán nhiều giá trị vào biến Macro

PROC SQL có thể xuất danh sách các giá trị ra biến Macro. Cú pháp như sau:

	SELECT [COLUMN] 
		INTO :MACRO_VAR SEPARATED BY [DELIMITER] 
		FROM [TABLE]

Ví dụ

PROC SQL NOPRINT;
	SELECT DISTINCT(ORIGIN) 
		INTO :ALL_ORIGIN SEPARATED BY ", "
			FROM SASHELP.CARS;
QUIT;
%PUT &=ALL_ORIGIN;

Kết quả nhận được là ALL_ORIGIN=Asia, Europe, USA.

Tạo Index

Kết nối với ODBC

Open Query

Insert Data


Overview
Data Step
Data Aggregation
Data Visualization
Proc SQL
Variable Analysis
Macro
Model Regression
Variable Selection
Model Assessment