Solved
Contributor
Posts: 53

# What does this line mean?

data lab_valid (where=(troponin=1 & result_conv ne .& year>=2011));
set clean.lab_troponin

Specifically, I'm not sure what the "ne .&" means?

Thank you!

Accepted Solutions
Solution
‎10-26-2017 08:49 PM
SAS Super FREQ
Posts: 9,424

## Re: What does this line mean?

Hi:

That WHERE option is a test for 3 things to be true in order for the observation to be selected. So separate out the & first, and replace it with the logical AND, then the option becomes:

where=( troponin=1 AND result_conv ne . AND year >= 2011)

So, an observation will only be selected if these 3 conditions are all true:

the variable TROPONIN must have a value equal to 1

the variable RESULT_CONV must have a value NOT equal to .   (. means a MISSING value for a numeric variable)

the variable YEAR must have a value that is greated than or equal to 2011

With a SAS numeric variable a . is used to represent a missing value. For a character variable a space or blank is used to represent a missing value.

Hope this helps,

Cynthia

All Replies
SAS Super FREQ
Posts: 508

## Re: What does this line mean?

The period is the most common type of missing value.  Quite independently, ampersand means AND.  The code would be clearer if there were a space between the two.

Contributor
Posts: 53

## Re: What does this line mean?

This works as a solution too! THANK YOU!!!!
Solution
‎10-26-2017 08:49 PM
SAS Super FREQ
Posts: 9,424

## Re: What does this line mean?

Hi:

That WHERE option is a test for 3 things to be true in order for the observation to be selected. So separate out the & first, and replace it with the logical AND, then the option becomes:

where=( troponin=1 AND result_conv ne . AND year >= 2011)

So, an observation will only be selected if these 3 conditions are all true:

the variable TROPONIN must have a value equal to 1

the variable RESULT_CONV must have a value NOT equal to .   (. means a MISSING value for a numeric variable)

the variable YEAR must have a value that is greated than or equal to 2011

With a SAS numeric variable a . is used to represent a missing value. For a character variable a space or blank is used to represent a missing value.

Hope this helps,

Cynthia

Contributor
Posts: 53