Оператор в SAS — это символ, который используется в математическом, логическом или сравнительном выражении. Эти символы встроены в язык SAS, и многие операторы могут быть объединены в одном выражении для получения окончательного результата.
Ниже приведен список операторов категории SAS.
- Арифметические Операторы
- Логические Операторы
- Операторы сравнения
- Минимальные / максимальные операторы
- Оператор конкатенации
Мы рассмотрим каждый из них по одному. Операторы всегда используются с переменными, которые являются частью данных, которые анализируются программой SAS.
Арифметические Операторы
В приведенной ниже таблице описаны подробности арифметических операторов. Предположим, две переменные данных V1 и V2 со значениями 8 и 4 соответственно.
оператор | Описание | пример |
---|---|---|
+ | прибавление | V1 + V2 = 12 |
— | Вычитание | V1-V2 = 4 |
* | умножение | V1, V2, * = 32 |
/ | разделение | V1 / V2 = 2 |
** | Возведение | V1, V2, ** = 4096 |
пример
DATA MYDATA1; input @1 COL1 4.2 @7 COL2 3.1; Add_result = COL1+COL2; Sub_result = COL1-COL2; Mult_result = COL1*COL2; Div_result = COL1/COL2; Expo_result = COL1**COL2; datalines; 11.21 5.3 3.11 11 ; PROC PRINT DATA = MYDATA1; RUN;
Запустив приведенный выше код, мы получим следующий вывод.
Логические Операторы
В приведенной ниже таблице описаны детали логических операторов. Эти операторы оценивают значение Истины выражения. Таким образом, результатом логических операторов всегда является 1 или 0. Предположим, что две переменные данных V1 и V2 со значениями 8 и 4 соответственно.
оператор | Описание | пример |
---|---|---|
& | Оператор AND Если оба значения данных имеют значение true, то результат равен 1, иначе он равен 0. | (V1> 2 и V2> 3) дает 0. |
| | Оператор ИЛИ. Если какое-либо из значений данных оценивается как истинное, то результатом будет 1, иначе 0. | (V1> 9 и V2> 3) равно 1. |
~ | НЕ оператор. Результат оператора NOT в форме выражения, значение которого равно FALSE или отсутствует, равен 1, в противном случае он равен 0. | НЕ (V1> 3) равно 1. |
пример
DATA MYDATA1; input @1 COL1 5.2 @7 COL2 4.1; and_=(COL1 > 10 & COL2 > 5 ); or_ = (COL1 > 12 | COL2 > 15 ); not_ = ~( COL2 > 7 ); datalines; 11.21 5.3 3.11 11.4 ; PROC PRINT DATA = MYDATA1; RUN;
Запустив приведенный выше код, мы получим следующий вывод.
Операторы сравнения
В приведенной ниже таблице описаны подробности операторов сравнения. Эти операторы сравнивают значения переменных, и результатом является значение истинности, представленное 1 для ИСТИНЫ и 0 для Ложного. Предположим, две переменные данных V1 и V2 со значениями 8 и 4 соответственно.
оператор | Описание | пример |
---|---|---|
знак равно | РАВНЫЙ Оператор. Если оба значения данных равны, то результат равен 1, иначе он равен 0. | (V1 = 8) дает 1. |
^ = | НЕ РАВНЫЙ оператор. Если оба значения данных неравны, то результат равен 1, иначе это 0. | (V1 ^ = V2) дает 1. |
< | Меньше чем оператор. | (V2 <V2) дает 1. |
<= | МЕНЬШЕ, ЧЕМ ИЛИ РАВНОЕ Оператору. | (V2 <= 4) дает 1. |
> | БОЛЬШЕ, ЧЕМ Оператор. | (V2> V1) дает 1. |
> = | БОЛЬШЕ, ЧЕМ или РАВНО ДЛЯ Оператора. | (V2> = V1) дает 0. |
В | Оператор IN. Если значение переменной равно любому из значений в данном списке значений, то оно возвращает 1, иначе оно возвращает 0. | V1 в (5,7,9,8) дает 1. |
пример
DATA MYDATA1; input @1 COL1 5.2 @7 COL2 4.1; EQ_ = (COL1 = 11.21); NEQ_= (COL1 ^= 11.21); GT_ = (COL2 => 8); LT_ = (COL2 <= 12); IN_ = COL2 in( 6.2,5.3,12 ); datalines; 11.21 5.3 3.11 11.4 ; PROC PRINT DATA = MYDATA1; RUN;
Запустив приведенный выше код, мы получим следующий вывод.
Минимальные / максимальные операторы
В приведенной ниже таблице описаны детали операторов Minimum / Maximum. Эти операторы сравнивают значения переменных в строке, и возвращается минимальное или максимальное значение из списка значений в строках.
оператор | Описание | пример |
---|---|---|
MIN | Оператор МИН. Возвращает минимальное значение из списка значений в строке. | MIN (45,2,11,6,15,41) дает 11,6 |
МАКСИМУМ | МАКС Оператор. Возвращает максимальное значение из списка значений в строке. | Макс (45,2,11,6,15,41) дает 45,2 |
пример
DATA MYDATA1; input @1 COL1 5.2 @7 COL2 4.1 @12 COL3 6.3; min_ = MIN(COL1 , COL2 , COL3); max_ = MAX( COL1, COl2 , COL3); datalines; 11.21 5.3 29.012 3.11 11.4 18.512 ; PROC PRINT DATA = MYDATA1; RUN;
Запустив приведенный выше код, мы получим следующий вывод.
Оператор конкатенации
В приведенной ниже таблице описаны подробности оператора конкатенации. Этот оператор объединяет два или более строковых значения. Возвращается однозначное значение
оператор | Описание | пример |
---|---|---|
|| | Оператор сцепления. Возвращает объединение двух или более значений. | ‘Hello’ ||» Мир ‘дает Hello World |
пример
DATA MYDATA1; input COL1 $ COL2 $ COL3 $; concat_ = (COL1 || COL2 || COL3); datalines; Tutorial s point simple easy learning ; PROC PRINT DATA = MYDATA1; RUN;
Запустив приведенный выше код, мы получим следующий вывод.
Приоритет операторов
Приоритет оператора указывает порядок вычисления нескольких операторов, присутствующих в сложном выражении. В приведенной ниже таблице описан порядок приоритета в группе операторов.