Rate this post

Sau khi biết về  khái niệm Hàm chuỗi SAS, chúng ta sẽ tìm hiểu về Array SAS. Nói chung, các lập trình viên sử dụng Array SAS để đơn giản hóa mã của họ, dẫn đến các chương trình ít lỗi hơn và hiệu quả hơn.

Sau khi hoàn thành hướng dẫn này, bạn sẽ có thể hiểu:

  • Khái niệm Array SAS
  • Cú pháp Array SAS
  • Khai báo Array SAS
  • Toán tử Array SAS

Array trong SAS là gì?

Array SAS nhóm các biến tương tự để xử lý bên trong bước dữ liệu. Sau khi Array SAS được định nghĩa, các tác vụ được thực hiện bởi các biến tại các thời điểm khác nhau có thể được thực hiện bằng cách sử dụng một Array duy nhất. Điều này giúp tiết kiệm thời gian và không yêu cầu viết nhiều câu lệnh.

Các bài viết liên quan;

Hãy xem xét, ví dụ SAS Array, một tập dữ liệu tiết kiệm (tiết kiệm) chứa 24 biến hàng tháng trong một năm, 12 biến cho thu nhập (Inc1 – Inc12) và 12 biến cho chi phí (Exp1 – Exp12). Để tính toán khoản tiết kiệm ròng cho mỗi tháng, chương trình SAS cần 12 câu lệnh:

net_sav1 = inc1- exp1;
net_sav2 = inc2- exp2; . . .
.
.
.
.
net_sav3 = inc3- exp3;
net_sav11 = inc11-exp11;
net_sav12 = inc12- exp12;

Phương pháp tính tiết kiệm ròng này được lặp đi lặp lại. Khi số lượng dữ liệu tăng lên, cần có nhiều bản sao kê hơn để tính toán khoản tiết kiệm ròng cho mỗi tháng. Array giúp thực hiện các phép tính này với một vài câu lệnh.

  1. Trong hầu hết các trường hợp, mã được viết bằng Array cũng có thể được viết mà không cần sử dụng Array.
  2. Array cung cấp một phương thức thay thế để tham chiếu đến một biến thay vì sử dụng tên của biến ở nhiều nơi và nhiều thời điểm.

Cú pháp Array SAS

Câu lệnh SAS ARRAY bao gồm từ khóa ARRAY theo sau là tên của Array:

ARRAY array-name[ ];

Tên Array SAS có thể được theo sau bởi một cặp dấu ngoặc đơn (), dấu ngoặc nhọn {} hoặc dấu ngoặc vuông []. Bằng cách chỉ định một giá trị bên trong dấu ngoặc, chúng ta có thể gán cùng một số biến cho Array.

Ví dụ – sử dụng cùng một ví dụ được sử dụng ở trên, chúng ta có thể tạo thu nhập Array và thêm 12 biến vào đó, một biến cho mỗi tháng, thay vì viết câu lệnh cho 12 biến đó.

Trong câu lệnh này, thu nhập Array có 12 biến (inc1 – inc12) được liên kết với nó.

Xem thêm NumPy Copies và Views

Ví dụ về khai báo Array SAS

# Khai báo một Array có độ dài 4 được đặt tên là age với các giá trị.

ARRAY age[4] (11 1 2 62);

# Khai báo một Array có độ dài 8 màu được đặt tên với các giá trị bắt đầu từ chỉ số 0.

ARRAY colors (0:8) A B C D E F G H I;

# Khai báo một Array có độ dài 5 sách được đặt tên chứa các giá trị ký tự.

ARRAY books(1:5) $ b1-b5;

# Khai báo một Array có độ dài cần thiết tùy thuộc vào số lượng giá trị được cung cấp.

ARRAY ANS(*) A1-A10;

Những điểm cần nhớ

Có một số điểm quan trọng mà bạn nên nhớ khi làm việc trên Array SAS. Các biến SAS được liên kết với một Array có các đặc điểm nhất định:

  1. Tất cả các biến được xác định bên trong một Array phải có cùng kiểu. Chúng có thể là biến số hoặc ký tự.
  2. Nếu các biến là biến ký tự, thì phải đặt dấu đô la ($) sau phần xác định Array.

Thí dụ –

array my_name[3] $ first middle last;

Theo mặc định, các biến bên trong Array có độ dài 8 byte. Để chỉ định độ dài khác cho các biến, hãy bao gồm độ dài mong muốn sau $ cho Array ký tự và sau dấu ngoặc cho Array số.

Toán tử Array SAS

Ở đây, chúng ta nói về hai loại toán tử Array trong SAS: toán tử OF và toán tử IN.

Toán tử trong Array OF

Chúng tôi sử dụng toán tử OF khi một phép tính được thực hiện trên tất cả các biến hoặc phần tử của Array.

DATA example_OF;
INPUT A1 A2 A3 A4;
ARRAY A(4) A1-A4;
A_SUM=SUM(OF A(*));
A_MEAN=MEAN(OF A(*));
A_MIN=MIN(OF A(*));
DATALINES;
21 4 52 11
96 25 42 6;
RUN;
PROC PRINT DATA=example_OF;
RUN;

Đầu ra:

Toán tử SAS IN

Nếu chúng ta muốn tìm kiếm một giá trị cụ thể trong Array và kiểm tra sự hiện diện của nó, chúng ta có thể sử dụng toán tử IN. Trong ví dụ dưới đây, chúng tôi sẽ kiểm tra tính khả dụng của màu “Hồng” trong dữ liệu. Từ khóa IN phân biệt chữ hoa chữ thường.

DATA in_example;
INPUT A1 $ A2 $ A3 $ A4 $;
ARRAY COLOURS(4) A1-A4;
IF 'yellow' IN COLOURS THEN available='Yes'; ELSE available='No';
DATALINES;
Orange-pink violet yellow;
RUN;
PROC PRINT DATA=in_example;
RUN;

Đầu ra:

Bản tóm tắt

Trong Hướng dẫn về Array SAS này, chúng tôi đã nghiên cứu các khía cạnh khác nhau của Array SAS, tầm quan trọng của chúng trong việc cải thiện hiệu quả của mã, giảm bớt sự dư thừa và cách làm cho chương trình của chúng ta dễ dàng và có tổ chức hơn. Vì vậy, hãy theo dõi để biết thêm thông tin cập nhật.

Xem thêm Tìm hiểu về biến trong SAS

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now