Fluorite | Level 6

## Horizontal count of variables with non-missing values

I need to generate a new variabel that horizontally count the number of variabels out of a total of 9 numeric variabels that contains a none missing value. I've figured out to do so with a missing value, but how can I change the code, so instead of '.' it will be any value "not equal" to a missing value?

data have;
set want;
countvar = countc(catt(of var1 - var9), '.');
run;

(I still haven't worked with arrays, so I would appreciate a very simple code, ex based on the code above)

Thanks...

1 ACCEPTED SOLUTION

Accepted Solutions
Super User

## Re: Horizontal count of variables with non-missing values

@Biniie wrote:

I need to generate a new variabel that horizontally count the number of variabels out of a total of 9 variabels that contains a none missing value. I've figured out to do so with a missing value, but how can I change the code, so instead of '.' it will be any value "not equal" to a missing value?

data have;
set want;
countvar = countc(catt(of var1 - var9), '.');
run;

(I still haven't worked with arrays, so I would appreciate a very simple code, ex based on the code above)

Thanks...

Use the CMISS() function.  It can handle both numeric and character variables.

``````number_missing=cmiss(of var1-var9);
number_not_missing=9 - number_missing;``````
Super User

## Re: Horizontal count of variables with non-missing values

@Biniie wrote:

I need to generate a new variabel that horizontally count the number of variabels out of a total of 9 variabels that contains a none missing value. I've figured out to do so with a missing value, but how can I change the code, so instead of '.' it will be any value "not equal" to a missing value?

data have;
set want;
countvar = countc(catt(of var1 - var9), '.');
run;

(I still haven't worked with arrays, so I would appreciate a very simple code, ex based on the code above)

Thanks...

Use the CMISS() function.  It can handle both numeric and character variables.

``````number_missing=cmiss(of var1-var9);
number_not_missing=9 - number_missing;``````
Discussion stats