Trong Hướng dẫn sử dụng SAS SQL này, chúng tôi sẽ chỉ cho bạn 5 cách khác nhau để thao tác và phân tích dữ liệu của bạn bằng thủ tục SAS SQL và PROC SQL SAS.
Hơn nữa, chúng ta sẽ thấy các so sánh về cách hoàn thành nhiệm vụ tương tự với mã SAS cơ sở cũng được thực hiện trong suốt bài viết với một số ví dụ về SAS SQL.
Các bài viết liên quan:
Vì vậy, hãy bắt đầu với SAS SQL.
SAS SQL – PROC SQL SAS
Thủ tục PROC SQL được sử dụng để xử lý các câu lệnh SQL. Thủ tục này không chỉ có thể trả về kết quả của một truy vấn SQL mà còn có thể tạo các bảng và biến SAS .
Cú pháp của PROC SQL SAS-
- PROC SQL: gọi thủ tục SAS SQL
- SELECT: chỉ định (các) cột (biến) được chọn
- FROM: chỉ định (các) bảng (tập dữ liệu) được truy vấn
- WHERE: tập hợp con dữ liệu dựa trên một điều kiện
- GROUP BY: phân loại dữ liệu thành các nhóm dựa trên (các) cột được chỉ định
- ORDER BY: sắp xếp các hàng kết quả (quan sát) theo (các) cột được chỉ định
- QUIT: kết thúc quy trình PROC SQL
SQL so với SAS
CHUYÊN ĐỀ SQL PROC
Các câu lệnh được sử dụng trong SAS SQL để tạo, cập nhật và xem tập dữ liệu khác với các câu lệnh. Dưới đây là một bản tóm tắt về sự khác biệt. Chúng ta sẽ xem xét những điểm quan trọng từ bảng này.
Xem thêm Tìm hiểu về lập trình SAS
Tập dữ liệu hiển thị
Cách sử dụng cơ bản nhất của PROC SQL là hiển thị (hoặc in) tất cả các biến (cột) và quan sát (hàng) từ một tập dữ liệu nhất định trong cửa sổ Kết quả SAS.
Sử dụng tập dữ liệu SASHELP.CLASS với mã Base SAS, bạn có thể xem tại đây cách in toàn bộ tập dữ liệu ra cửa sổ kết quả bằng quy trình PRINT:
proc print data=sashelp.class; run;
kết quả có thể thu được bằng cách sử dụng câu lệnh SELECT. Để hiển thị tất cả các cột trong cửa sổ Kết quả, dấu hoa thị (*) được sử dụng sau một CHỌN để chỉ ra rằng bạn muốn giữ tất cả các biến (cột) trong đầu ra.
Một lệnh gọi tới PROC SQL SAS được kết thúc bằng dấu chấm phẩy, theo sau là câu lệnh QUIT và một dấu chấm phẩy khác như được hiển thị ở đây:
proc sql; select * from sashelp.class ; quit;
Hiển thị Tập dữ liệu trong PROC SQL SAS
Đối với các tập dữ liệu có nhiều biến, có thể tốt hơn là chỉ xem một tập con của các biến đó. Với Proc Print, điều này sẽ được thực hiện với câu lệnh VAR. Ở đây, câu lệnh VAR chỉ được sử dụng để in các biến Tên và Tuổi từ SASHELP.CLASS:
proc print data=sashelp.class; var name age; run;
proc sql; select name,age from sashelp.class; quit;
Hiển thị Tập dữ liệu trong PROC SQL SAS
Xem thêm SAS là gì? tìm hiểu về SAS
Tạo tập dữ liệu từ dữ liệu hiện có
Tương tự như Bước dữ liệu trong lập trình SAS cơ sở , PROC SQL cũng có thể được sử dụng để tạo bộ dữ liệu mới từ dữ liệu hiện có.
Để tạo tập dữ liệu mới trong thư viện WORK được gọi là class_new, chứa tất cả các biến và quan sát từ SASHELP.CLASS, bước dữ liệu SAS cơ sở được sử dụng cùng với câu lệnh SET như sau:
Data class_new; Set sashelp.class; Run;
Tập dữ liệu đầu ra tương đương được tạo bằng cách sử dụng câu lệnh CREATE TABLE và AS trước câu lệnh SELECT:
proc sql; create table class_new as select * from sashelp.class ; quit;
Tạo tập dữ liệu từ dữ liệu hiện có
Mệnh đề WHERE
SAS sử dụng mệnh đề where để tập hợp con dữ liệu, nghĩa là chỉ lấy các giá trị mà chúng ta muốn và loại bỏ phần còn lại của các giá trị. Ví dụ, nếu chúng ta muốn chỉ những người có giới tính là nam, thì chúng ta sẽ chỉ định nó trong mệnh đề where.
Chúng tôi đã tạo một tập dữ liệu có tên CLASSFIT_MALES chứa tất cả các biến từ CLASSFIT nhưng chỉ những bản ghi có Giới tính là ‘M’ (tức là chỉ những bản ghi dành cho nam giới):
data classfit_males; set sashelp.classfit; where sex = 'M'; run; proc sql; select * from classfit_males where sex='M' ; quit;
Mệnh đề WHERE – SAS SQL
Cập nhật tập dữ liệu
Sử dụng tập dữ liệu CLASS làm ví dụ, giả sử rằng bạn muốn biết chiều cao của mỗi người là bao nhiêu theo cả inch và cm.
Sử dụng một câu lệnh select duy nhất, biến tên được giữ lại, biến chiều cao hiện tại có thể được đổi tên thành height_inches và một biến chiều cao mới có tên là height_cm có thể được tạo bằng cách nhân chiều cao tính bằng inch với 2,54 để chuyển đổi thành cm.
proc sql; create table class_heights as select name, height as height_inches, (height*2.54) as height_cm from sashelp.class; quit;
Xóa hàng khỏi tập dữ liệu
Cũng giống như chúng ta đã thấy một số câu lệnh ở trên, câu lệnh xóa bên trong PROC SQL SAS sẽ xóa các hàng mà chúng ta chọn.
proc sql; delete from sashelp.cars where salary>200 ; quit;
Tất cả đều có trên SAS SQL Tutorial. Hy vọng bạn thích giải thích của chúng tôi.
Kết luận
Do đó, hôm nay chúng ta đã xem SAS SQL là gì và cách sử dụng câu lệnh PROC SQL thay vì câu lệnh SAS để áp dụng các hoạt động trên tập dữ liệu của chúng tôi. Không có nhiều sự khác biệt giữa các câu lệnh.
Xem thêm Tìm hiểu về biến trong SAS