BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
cdubs
Quartz | Level 8
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! 

1 ACCEPTED SOLUTION

Accepted Solutions
Cynthia_sas
Diamond | Level 26

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

View solution in original post

4 REPLIES 4
WarrenKuhfeld
Ammonite | Level 13

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.

cdubs
Quartz | Level 8
This works as a solution too! THANK YOU!!!!
Cynthia_sas
Diamond | Level 26

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

cdubs
Quartz | Level 8

Thank you so much!

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1964 views
  • 2 likes
  • 3 in conversation