SAS-연산자
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;
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
논리 연산자
아래 표는 논리 연산자의 세부 사항을 설명합니다. 이 연산자는 표현식의 Truth 값을 평가합니다. 따라서 논리 연산자의 결과는 항상 1 또는 0입니다. 두 개의 데이터 변수를 가정 해 보겠습니다.V1 과 V2값으로 8 과 4 각기.
운영자 | 기술 | 예 |
---|---|---|
& | AND 연산자. 두 데이터 값이 모두 참으로 평가되면 결과는 1이고 그렇지 않으면 0입니다. | (V1> 2 & V2> 3)은 0을 제공합니다. |
| | OR 연산자. 데이터 값 중 하나가 참으로 평가되면 결과는 1이고 그렇지 않으면 0입니다. | (V1> 9 & V2> 3)은 1입니다. |
~ | NOT 연산자. 값이 FALSE이거나 누락 된 값이 1 인 표현식 형식의 NOT 연산자 결과입니다. 그렇지 않으면 0입니다. | NOT (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;
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
비교 연산자
아래 표는 비교 연산자의 세부 사항을 설명합니다. 이 연산자는 변수의 값을 비교하고 결과는 TRUE에 대해 1, False에 대해 0으로 표시되는 진리 값입니다. 두 개의 데이터 변수를 가정 해 보겠습니다.V1 과 V2값으로 8 과 4 각기.
운영자 | 기술 | 예 |
---|---|---|
= | EQUAL 연산자. 두 데이터 값이 모두 같으면 결과는 1이고 그렇지 않으면 0입니다. | (V1 = 8)은 1을 제공합니다. |
^ = | 같지 않은 연산자. 두 데이터 값이 같지 않으면 결과는 1이고 그렇지 않으면 0입니다. | (V1 ^ = V2)는 1을 제공합니다. |
< | LESS THAN 연산자. | (V2 <V2)는 1을 제공합니다. |
<= | LESS THAN 또는 EQUAL TO 연산자. | (V2 <= 4)는 1을 제공합니다. |
> | 더 큰 연산자. | (V2> V1)은 1을 제공합니다. |
> = | GREATER THAN 또는 EQUAL TO 연산자. | (V2> = V1)은 0을 제공합니다. |
에 | IN 연산자. 변수의 값이 주어진 값 목록에있는 값 중 하나와 같으면 1을 반환하고 그렇지 않으면 0을 반환합니다. | (5,7,9,8)의 V1은 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;
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
최소 / 최대 연산자
아래 표는 최소 / 최대 연산자에 대한 세부 정보를 설명합니다. 이러한 연산자는 행에서 변수 값을 비교하고 행의 값 목록에서 최소값 또는 최대 값이 반환됩니다.
운영자 | 기술 | 예 |
---|---|---|
분 | MIN 연산자. 행의 값 목록에서 최소값을 반환합니다. | MIN (45.2,11.6,15.41)은 11.6을 제공합니다. |
MAX | MAX 연산자. 행의 값 목록에서 최대 값을 반환합니다. | MAX (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;
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
연결 연산자
아래 표는 Concatenation 연산자의 세부 정보를 설명합니다. 이 연산자는 둘 이상의 문자열 값을 연결합니다. 단일 문자 값이 반환됩니다.
운영자 | 기술 | 예 |
---|---|---|
|| | 연결 연산자. 두 개 이상의 값을 연결하여 반환합니다. | '안녕하세요'|| ' World '는 Hello World를 제공합니다. |
예
DATA MYDATA1;
input COL1 $ COL2 $ COL3 $;
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
연산자 우선 순위
연산자 우선 순위는 복잡한 식에있는 여러 연산자의 평가 순서를 나타냅니다. 아래 표는 연산자 그룹의 우선 순위를 설명합니다.
그룹 | 주문 | 기호 |
---|---|---|
그룹 I | 오른쪽에서 왼쪽으로 | ** +-MIN MAX 아님 |
그룹 II | 좌에서 우로 | * / |
그룹 III | 좌에서 우로 | +- |
그룹 IV | 좌에서 우로 | || |
그룹 V | 좌에서 우로 | <<= => => |