SAS Functions and Procedures

Discover key differences between SAS functions and procedures, when to use SUM() vs. ‘+’ operator, and INPUT vs. INFILE statements in SAS Software. Learn with clear examples and practical use cases for efficient data analysis. Perfect for SAS beginners and professionals!

SAS Functions and Procedures Questions And Answers

What is the difference between SAS Functions and Procedures?

The SAS Functions and Procedures (PROCs) serve different purposes and operate in distinct ways. The breakdown of the key differences between SAS Functions and Procedures is:

SAS Functions

Perform computations or transformations on individual values (usually within a DATA step). The SAS Functions are used to (i) operate on single values or variables, (ii) return a single result for each function call, and (iii) are often used in assignment statements or expressions.

## SAS Functions Example

data example;
    x = SUM(10, 20, 30);  /* Returns 60 */
    y = UPCASE('hello');  /* Returns 'HELLO' */
    z = SUBSTR('SAS Programming', 1, 3);  /* Returns 'SAS' */
run;

The following are some important types of SAS Functions:

  • Numeric Functions (e.g., SUM(), MEAN(), ROUND())
  • Character Functions (e.g., UPCASE(), SUBSTR(), TRIM())
  • Date/Time Functions (e.g., TODAY(), MDY(), INTCK())
  • Statistical Functions (e.g., NORMAL(), RANUNI())

SAS Procedures (PROCs)

SAS procedures, or PROCs, are used to perform data manipulation, analysis, or reporting on entire datasets. The usage of PROCS is to (i) operate on entire datasets (not just single values), (ii) generate tables, reports, graphs, or statistical analyses, and (iii) execute in a PROC step, not a DATA step.

## SAS Procedures (PROCs) Examples

proc means data=sashelp.class;  /* Computes summary statistics */
    var age height weight;
run;

proc sort data=sashelp.class;  /* Sorts a dataset */
    by descending age;
run;

proc freq data=sashelp.class;  /* Generates frequency tables */
    tables sex age;
run;

The types of SAS Procedures are:

  • Data Management PROCs (e.g., PROC SORT, PROC TRANSPOSE)
  • Statistical PROCs (e.g., PROC MEANS, PROC REG, PROC ANOVA)
  • Reporting PROCs (e.g., PROC PRINT, PROC TABULATE, PROC REPORT)
  • Graphical PROCs (e.g., PROC SGPLOT, PROC GCHART)

What are the key differences between SAS Functions and SAS Procedures?

The following are the key differences between SAS Functions and SAS Procedures:

FeatureSAS FunctionsSAS Procedures (PROCs)
OperationWork on single values/variablesWork on entire datasets
ExecutionUsed in DATA stepsUsed in PROC steps
OutputReturns a single valueGenerates reports, tables, or datasets
ExamplesSUM(), UPCASE(), SUBSTR()PROC MEANS, PROC SORT, PROC FREQ
Usage ContextCalculations within a variableDataset processing & analysis

Describe when to use SAS Functions or SAS PROCs

  • Use Functions when you need to transform or compute values within a DATA step.
  • Use Procedures when you need to analyze, summarize, or manipulate entire datasets.

What is the Difference Between the “Sum” Function and using the “+” Operator in SAS?

In SAS, both the SUM function and the + Operators can be used to perform addition, but they behave differently in terms of handling missing values and syntax. The breakdown of the differences between the SUM Function and the + Operator is:

SUM Function (SUM())

The SUM Function is used to add values while ignoring missing values (.). The general syntax of the SUM Function in SAS is

sum(var1, var2, var3, ...)

The behaviour of the SUM() is that if any argument is non-missing, the result is the sum of non-missing values. If all arguments are missing, the result is missing (.). The SUM() Function is best for

  • Summing multiple variables where some may have missing values.
  • Avoiding unintended missing results due to missing data.
## SAS SUM() Function Example 

data example;
    a = 10;
    b = .;  /* missing */
    c = 30;
    sum_result = sum(a, b, c);  /* 10 + 30 = 40 (ignores missing) */
run;

+ Operator

The ‘+’ operator performs arithmetic addition but propagates missing values. The general syntax of the ‘+’ operator in SAS is

var1 + var2 + var3

The behaviour of ‘+’ is:

  • If any variable is missing, the result is missing (.).
  • Only works if all values are non-missing.

The use of ‘+’ operator is best for:

  • Cases where missing values should make the result missing (e.g., strict calculations).
## + Operator Example

data example;
    a = 10;
    b = .;  /* missing */
    c = 30;
    plus_result = a + b + c;  /* 10 + . + 30 = . (missing) */
run;

What are the Key Differences between the SUM() Function and the ‘+’ Operator in SAS?

FeatureSUM Function (SUM())+ Operator
Handling Missing ValuesIgnores missing values (10 + . = 10)Returns missing if any value is missing (10 + . = .)
Syntaxsum(a, b, c)a + b + c
Use CaseSumming variables where some may be missingStrict arithmetic (missing = invalid)
PerformanceSlightly slower (function call)Faster (direct operation)

When to Use the SUM() Function and ‘+’ Operator in SAS?

  • Use SUM() when:
    • You want to ignore missing values (e.g., calculating totals where some data is missing).
    • Example: total = sum(sales1, sales2, sales3);
  • Use + when:
    • Missing values should make the result missing (e.g., strict calculations where all inputs must be valid).
    • Example: net_pay = salary + bonus; (if bonus is missing, net_pay should also be missing).

What is the difference between the INPUT and INFILE statements?

In SAS, both the INPUT and INFILE statements are used to read data, but they serve different purposes and are often used together. Here’s a breakdown of their differences:

INFILE Statement

The INFILE Statement in SAS specifies the source file from which data is to be read. It is used to

  • Defines the external file (e.g., .txt, .csv, .dat) to be read.
  • Can include options to control how data is read (e.g., delimiters, missing values, encoding).

The general Syntax of the INFILE Statement in SAS is:

INFILE "file-path" <options>;

The Key Options of the INFILE Statement are:

  • DLM=’,’ (specifies delimiter, e.g., CSV files)
  • DSD (handles quoted values and missing data correctly)
  • FIRSTOBS=2 (skips the first line, e.g., headers)
  • MISSOVER (prevents SAS from moving to the next line if data is missing)
## INFILE Statement Example
    DATA sample;
      INFILE "/path/to/data.csv" DLM=',' DSD FIRSTOBS=2;
      INPUT name $ age salary;
    RUN;

INPUT Statement

The INPUT Statement defines how SAS reads raw data (variable names, types, and formats). It is used to

  • Maps raw data to SAS variables (numeric or character).
  • Specifies the layout of the data (column positions, delimiters, or formats).

The general Syntax of the INPUT Statement is

INPUT variable1 $ variable2 variable3 ...;

The types of Input Styles are:

  • List Input (space/comma-delimited): INPUT name $ age salary;
  • Column Input (fixed columns): INPUT name $ 1-10 age 11-13 salary 14-20;
  • Formatted Input (specific formats): INPUT name $10. age 2. salary 8.2;
## INPUT Statement Example

    DATA sample;
      INFILE "/path/to/data.txt";
      INPUT name $ age salary;
    RUN;
Statistics Data Analysis SAS Functions, SAS Procedures

Learn String Manipulation in R Language

Type I Type II Error Example

In this post, we will discuss Type I Type II error examples from real-life situations. Whenever sample data is used to estimate a population parameter, there is always a probability of error due to drawing an unusual sample. Two main types of error occur in hypothesis tests, namely type I and type II Errors.

Type I Error (False Positive)

It is rejecting the null hypothesis ($H_0$) when it is actually true. The probability of Type I Error is denoted by $\alpha$ (alpha). The most common values for type I error are: 0.10, 0.05, and 0.01, etc. The example of Type I Error: A medical test indicates a person has a disease when they actually do not.

Type II Error (False Negative)

Type II Error is failing to reject the null hypothesis ($H_0$) when it is actually false. The probability of Type II Error is denoted by $\beta$ (beta). The power of the test is denoted by $1-\beta$, which is the probability of correctly rejecting a false null hypothesis. The example of a Type II error is: A medical test fails to detect a disease when the person actually has it.

Comparison Table

Error TypeWhat HappensRealityRisk Symbol
Type IReject Hâ‚€ when it is true$H_0$ is true$\alpha$
Type IIFail to reject $H_0$ when it is false$H_1$ (alternative) is true$\beta$
$H_0$ True$H_0$ False
$H_0$ RejectedType I ErrorCorrect Decision
$H_0$ Not RejectedCorrect DecisionType II Error

Type I Type II Error Example (Real-Life Examples)

  1. Medical Testing
    • Type I Error (False Positive): A healthy person is diagnosed with a disease. It may lead to unnecessary stress, further tests, or even treatment.
    • Type II Error (False Negative): A person with a serious disease is told they are healthy. It may delay treatment and worsen health outcomes.
      In this case, the more severe error is a Type II error, because missing a true disease can be life-threatening.
  2. Court Trial (Justice System)
    • Type I Error: An innocent person is found guilty. It leads to punishing someone who did nothing wrong.
    • Type II Error: A guilty person is found not guilty. It led to the criminal going free.
      In this example, the more severe is often Type I, because the justice system typically aims to avoid punishing innocent people.
  3. Fire Alarm System
    • Type I Error: The alarm goes off, but there’s no fire. Therefore, a false alarm causes panic and interruption.
    • Type II Error: There is a fire, but the alarm does not go off. It can cause loss of life or property.
      The more severe error is Type II error, due to the potential deadly consequences.
  4. Spam Email Filter
    • Type I Error: A legitimate email is marked as spam. It means one will miss important messages.
    • Type II Error: A spam email is not caught and lands in your inbox. The spam email may be a minor annoyance or a potential phishing risk.
      The more severe error in this case is usually Type I, especially if it causes loss of critical communication (like job offers, invoices, etc.).
  5. Quality Control in Manufacturing
    • A factory tests whether its products meet safety standards. The null hypothesis ($H_0$) states that the product meets requirements, while the alternative ($H_1$) claims it is defective.
    • Type I Error (False Rejection): If a good product is mistakenly labeled defective, the company rejects a true null hypothesis ($H_0$), leading to unnecessary waste and financial loss.
    • Type II Error (False Acceptance): If a defective product passes inspection, the company fails to reject a false null hypothesis ($H_0$). This could result in unsafe products reaching customers, damaging the brand’s reputation.
Type I Type II Error Example

Which Error is More Severe?

  • It depends on the context.
  • In healthcare or safety, Type II errors are often more dangerous.
  • In justice or decision-making, Type I errors can be more ethically concerning.

Designing a good hypothesis test involves balancing both types of errors based on what’s at stake.

Learn about Generic Functions in R

Date Time Function Excel 17

Test your Excel skills with this 24-question quiz on Date & Time functions! Master from “Date Time Function Excel” Quiz MS Excel formulas like TODAY(), NOW(), TEXT(), NETWORKDAYS, EDATE, and more. Perfect for beginners and advanced users to practice Excel date calculations, formatting, and business-day logic. Let us start with the Date Time Function Excel Quiz now

Online MCQs about Date Time Function Excel with Answers

1. The worksheet contains the following data:
Date Time Excel Q5


What will be the result of the following formula: =MONTH(1&G3)&”/2020″?

 
 
 
 

2. Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
Date Time Excel Q7


What does the following formula effectively generate =WORKDAY(EDATE(F3,1)-1,1)?

 
 
 
 

3. An invoice is due 10 working days after the invoice date. Which of the following would be an appropriate formula to get the due date, if the invoice date is 3/01/2020 and this value is held in cell D2, and given that the country has a 3-day weekend of Saturday, Sunday, and Monday?

 
 
 
 

4. The syntax for NETWORKDAYS is NETWORKDAYS(start_date, end_date, [holidays]). If there are 3 public holidays held in cells H3, H4, and H5. Which of the following formulas would work when trying to work out the number of working days in 2020?

 
 
 
 

5. The worksheet contains the following data:
Date time function excel 2


What will be the result of the following formula:
=”On “&TEXT(F3,”ddd/m/yyyy”)&” due “&VALUE(RIGHT(C3,6))

 
 
 
 

6. Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
Date Time Excel Q7


What is the result of the following formula (after re-formatting the cell to ‘Date’): =EOMONTH(EDATE(F3,1),1)?

 
 
 
 

7. Assume that today is the 1st of January, 2020 and we are using the day/month/year format for dates. What will be the result of the formula: =TODAY()+7

 
 
 
 

8. Currently, cell R2 is formatted as text and holds the value 12. If we convert this to a short date format using the day/month/year system, what will be the result?

 
 
 
 

9. Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
Date Time Excel Q7


What will the following formula return (after re-formatting the cell to ‘Date’): =EDATE(F3,1)?

 
 
 
 

10. Of these three functions, which of these functions returns a number of days: DAYS, WORKDAY, NETWORKDAYS

 
 
 
 

11. What does the NOW() function do?

 
 
 
 

12. The worksheet contains the following data:
Date time Excel Q6


To generate the last day of this month, the following formula is used: =DATE(2020, MONTH(1&B2)+1,1)-1. Which option explains the roles of +1, 1, and -1 within the formula the best?

 
 
 
 

13. Assume that today is the 21st of January, 2020, and we are using the day/month/year format for dates. What will be the result of: =TODAY()-7

 
 
 
 

14. Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
Date Time Excel Q7


Which of the following is an appropriate formula to calculate the end date of this month?

 
 
 
 

15. The worksheet contains the following data:
Date time Excel Q6


What would be an appropriate formula from the list below to generate the first day of this month, given that the year is 2020?

 
 
 
 

16. The worksheet contains the following data:
Date time Excel Q6


What would be an appropriate formula from the list below to generate the last day of this month, given that the year is 2020?

 
 
 
 

17. Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
Date Time Excel Q7


What will be the result of the following formula (after re-formatting the cell to ‘Date’): =EDATE(F3,1)-1?

 
 
 
 

18. The worksheet contains the following data
Date Time Functions Excel Q1


What will be an appropriate formula to convert this data into Wednesday, given that the 29th of December 1982 is a Wednesday?

 
 
 
 

19. The worksheet contains the following data:
Excel Date Time Q3


The following formulas are typed into the following cells:
• P2: =DAY(N2)
• Q2: =MONTH(N2)
• R2: =YEAR(N2)
What will the cells P2, Q2, and R2 hold, respectively?

 
 
 
 

20. An invoice is due 10 working days after the invoice date. Which of the following would be an appropriate formula to get the due date, if the invoice date is 3/01/2020 and this value is held in cell D2?

 
 
 
 

21. Cell N3 currently holds the value: 1/07/2019 (see below), the date that a payment was due (1st of July, 2019).
Date Time Excel Q4


What would be an appropriate formula from the list below that returns the number of days overdue? (Note: you have to re-format the cell that contains the result to General)

 
 
 
 

22. The invoice date is the 3rd of January, 2020, i.e., 3/01/2020, which is held in cell D2. We want to work out how many working days there are between the invoice date and the end of the year, given that the country has a 3-day weekend of Saturday, Sunday, and Monday. What would be an appropriate formula from the list below?

 
 
 
 

23. The worksheet contains the following data:
Date Time Functions Excel Q1


What will be the result of the following formula: =TEXT(F3, “DDD/M/YYYY”)?

 
 
 
 

24. The worksheet contains the following data:
Date Time Excel Q5


What will be the result of the following formula: =MONTH(G3)?

 
 
 
 

Question 1 of 24

Date Time Function Excel Quiz Q4

Online Date Time Function Excel Quiz

  • The MS Excel worksheet contains the following data
    What will be an appropriate formula to convert this data into Wednesday, given that the 29th of December 1982 is a Wednesday?
  • The MS Excel worksheet contains the following data:
    What will be the result of the following formula: =TEXT(F3, “DDD/M/YYYY”)?
  • The MS Excel worksheet contains the following data:
    What will be the result of the following formula: =”On “&TEXT(F3,”ddd/m/yyyy”)&” due “&VALUE(RIGHT(C3,6))
  • Currently, cell R2 is formatted as text and holds the value 12. If we convert this to a short date format using the day/month/year system, what will be the result?
  • Assume that today is the 1st of January, 2020, and we are using the day/month/year format for dates.
    What will be the result of the formula: =TODAY()+7
  • Assume that today is the 21st of January, 2020, and we are using the day/month/year format for dates.
    What will be the result of: =TODAY()-7
  • What does the NOW() function do?
  • The worksheet contains the following data:
    The following formulas are typed into the following cells:
    • P2: =DAY(N2)
    • Q2: =MONTH(N2)
    • R2: =YEAR(N2)
    What will the cells P2, Q2, and R2 hold, respectively?
  • Cell N3 currently holds the value: 1/07/2019 (see below), the date that a payment was due (1st of July, 2019).
    What would be an appropriate formula from the list below that returns the number of days overdue? (Note: you have to re-format the cell that contains the result to General)
  • The MS Excel worksheet contains the following data:
    What will be the result of the following formula: =MONTH(G3)?
  • The MS Excel worksheet contains the following data:
    What will be the result of the following formula: =MONTH(1&G3)&”/2020″?
  • The worksheet contains the following data:
    What would be an appropriate formula from the list below to generate the first day of this month, given that the year is 2020?
  • The MS Excel worksheet contains the following data:
    What would be an appropriate formula from the list below to generate the last day of this month, given that the year is 2020?
  • The MS Excel worksheet contains the following data:
    To generate the last day of this month, the following formula is used: =DATE(2020, MONTH(1&B2)+1,1)-1.
    Which option explains the roles of +1, 1, and -1 within the formula the best?
  • Of these three functions, which of these functions returns a number of days: DAYS, WORKDAY, NETWORKDAYS
  • An invoice is due 10 working days after the invoice date.
    Which of the following would be an appropriate formula to get the due date, if the invoice date is 3/01/2020 and this value is held in cell D2?
  • An invoice is due 10 working days after the invoice date.
    Which of the following would be an appropriate formula to get the due date, if the invoice date is 3/01/2020 and this value is held in cell D2, and given that the country has a 3-day weekend of Saturday, Sunday, and Monday?
  • The invoice date is the 3rd of January, 2020, i.e., 3/01/2020, which is held in cell D2. We want to work out how many working days there are between the invoice date and the end of the year, given that the country has a 3-day weekend of Saturday, Sunday, and Monday. What would be an appropriate formula from the list below?
  • The syntax for NETWORKDAYS is NETWORKDAYS(start_date, end_date, [holidays]). If there are 3 public holidays held in cells H3, H4, and H5.
    Which of the following formulas would work when trying to work out the number of working days in 2020?
  • Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
    What will the following formula return (after re-formatting the cell to ‘Date’): =EDATE(F3,1)?
  • Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
    Which of the following is an appropriate formula to calculate the end date of this month?
  • Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
    What is the result of the following formula (after re-formatting the cell to ‘Date’): =EOMONTH(EDATE(F3,1),1)?
  • Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
    What will be the result of the following formula (after re-formatting the cell to ‘Date’): =EDATE(F3,1)-1?
  • Cell F3 holds the value: 3/04/2020, i.e., the 3rd of April, 2020.
    What does the following formula effectively generate =WORKDAY(EDATE(F3,1)-1,1)?

Try Python MCQ Online Test 5