SAS - Array

Array di SAS digunakan untuk menyimpan dan mengambil serangkaian nilai menggunakan nilai indeks. Indeks mewakili lokasi di area memori yang dicadangkan.

Sintaksis

Dalam SAS, sebuah array dideklarasikan dengan menggunakan sintaks berikut -

ARRAY ARRAY-NAME(SUBSCRIPT) ($) VARIABLE-LIST ARRAY-VALUES

Dalam sintaks di atas -

  • ARRAY adalah kata kunci SAS untuk mendeklarasikan sebuah array.

  • ARRAY-NAME adalah nama larik yang mengikuti aturan yang sama dengan nama variabel.

  • SUBSCRIPT adalah jumlah nilai yang akan disimpan oleh array.

  • ($) adalah parameter opsional untuk digunakan hanya jika array akan menyimpan nilai karakter.

  • VARIABLE-LIST adalah daftar variabel opsional yang merupakan placeholder untuk nilai array.

  • ARRAY-VALUESadalah nilai aktual yang disimpan dalam larik. Mereka dapat dideklarasikan di sini atau dapat dibaca dari file atau dataline.

Contoh Deklarasi Array

Array dapat dideklarasikan dengan banyak cara menggunakan sintaks di atas. Berikut ini contohnya.

# Declare an array of length 5 named AGE with values.
ARRAY AGE[5] (12 18 5 62 44);

# Declare an array of length 5 named COUNTRIES with values starting at index 0.
ARRAY COUNTRIES(0:8) A B C D E F G H I;

# Declare an array of length 5 named QUESTS which contain character values.
ARRAY QUESTS(1:5) $ Q1-Q5;

# Declare an array of required length as per the number of values supplied.
ARRAY ANSWER(*) A1-A100;

Mengakses Nilai Array

Nilai-nilai yang disimpan dalam array dapat diakses dengan menggunakan printprosedur seperti yang ditunjukkan di bawah ini. Setelah dideklarasikan menggunakan salah satu metode di atas, data diberikan menggunakan pernyataan DATALINES.

DATA array_example;
INPUT a1 $ a2 $ a3 $ a4 $ a5 $;
ARRAY colours(5) $ a1-a5;
mix = a1||'+'||a2;
DATALINES;
yello pink orange green blue
;
RUN;
PROC PRINT DATA = array_example;
RUN;

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut -

Menggunakan operator OF

Operator OF digunakan saat menganalisis data dari sebuah Array untuk melakukan kalkulasi pada seluruh baris dari sebuah array. Dalam contoh di bawah ini kami menerapkan Jumlah dan Rata-rata nilai di setiap baris.

DATA array_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 = array_example_OF;
   RUN;

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut -

Menggunakan operator IN

Nilai dalam larik juga bisa diakses menggunakan operator IN yang memeriksa keberadaan nilai di baris larik. Pada contoh di bawah ini kami memeriksa ketersediaan warna "Kuning" dalam data. Nilai ini peka huruf besar / kecil.

DATA array_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 = array_in_example;
   RUN;

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut -