*100*

# SAS Functions

In this topic, we are going to discuss the SAS functions. Functions allow us to do extensive manipulation in data and existing data sets of SAS.

SAS provides a wide variety of built-in functions that are used in data processing and analysis. We use these functions as a part of the DATA statements.

A function accepts variables as arguments and provides a result, and this result can be stored into another variable. The number of arguments can vary, on the basis of the type of the function. Some functions accept a fixed number of arguments while some accept zero arguments

### Syntax:

To implement a function, use the following syntax:

Where,

**FUNCTIONNAME:** It is the name of the SAS built-in function.

**Argument:** It is the value provided to the function so that it can take instructional action. The argument can be a **variable**, **constant expression**, or another **function**.

Depending on the data type, functions are categorized in the following categories:

**CharacterFunctions****Date and TimeFunctions****MathematicalFunctions****TruncationFunctions****MiscellaneousFunctions**

## Character Functions

Character functions are used to manipulate character or string values.

Following are the various SAS built-in character functions used to manipulate string values:

**UPCASE:**It converts all the letters of string into the upper case.**LOWCASE:**It converts all the letters of string into the lower case.**PROPCASE:**It converts each first letter of the string into the upper case.**REVERSE:**It is used to reverse the string letters.**SCAN:**It returns the string value of a particular index.

### Example:

**Execute the above code in SAS Studio:**

**Output:**

## Date and Time Functions

Date and time functions are used to process date and time values.

Following are the various SAS built-in **Date and Time** functions used to manipulate date and time values:

**INTCK:**It is used to count the total number of years or months between dates.**Weekday:**It is used to display the weekday on a particular date.**Today:**It returns the current date in SAS date format.**Time:**It returns the current time in SAS time format.

### Example:

**Execute the above code in SAS Studio:**

**Output:**

## Mathematical Functions:

Mathematical Functions are used to apply mathematical calculations on the numeric or variable values.

Following are the SAS built-in Mathematical Functions used to perform calculations on numeric values:

**MAX:**It returns the maximum value among variable values.**MIN:**It returns the minimum value among variable values.**MEDIAN:**It returns the median value by calculating all variable values.**RANUNI:**It returns random value.**SQRT:**It returns the square root value of the sum of all variable values.

### Example:

**Execute the above code in SAS Studio:**

**Output:**

## Truncation Functions

Truncation Functions are used to truncate numeric values. Following are the SAS built-in Truncation functions used to perform truncation on the integer values.

**Ceil:**It returns the greatest nearest value of the integer value.**Floor:**It returns the smallest nearest value of the integer value.**Int:**It returns the numeric portion or the digits left side to the decimal number.**Round:**It returns the nearest value of the integer value.

### Example:

**Execute the above code in SAS Studio:**

**Output:**

## Miscellaneous Functions

Letâ€™s now understand two miscellaneous functions of SAS which are usually used.

**ZIPSTATE****MORT**

### ZIPSTATE

It returns the upper-case two-letter state postal code (or global GSA geographic code for U.S. territories) that corresponds to its five-digit ZIP state code.

**Example: **

Here we are taking zipstate code **27511** which corresponds to global GSA geographic code **NC** for U.S. territories.

**Execute the above code in SAS Studio:**

**Output:**

### Mort

It returns amortization parameters.

**Syntax:**

**Where,**

**a:** It is a numeric value which specifies the initial amount.

**p:** It is a numeric value which specifies the periodic payment.

**r:** It is a numeric value which specifies the periodic interest rate, which is expressed as a fraction.

**n:** It is an integer value which specifies the number of compounding periods.

**Example:**

The amount of â‚¹ 50,000 is borrowed for 30 years at an annual interest rate of 10 percent. It compounded monthly. So, the monthly payments can be expressed as follows:

**Execute the above code in SAS Studio:**

**Output:**