BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
afiqcjohari
Quartz | Level 8

Why my SAS doesn't have CMISS function?

1 ACCEPTED SOLUTION

Accepted Solutions
6 REPLIES 6
afiqcjohari
Quartz | Level 8
I just figured out that the server is running a 9.1 version while my desktop is on 9.3
Reeza
Super User

Or you made a mistake somewhere else in the code or usage. 

Post the full code/log and your SAS version. 

afiqcjohari
Quartz | Level 8
2142  data txn_contactlesscmiss;
2143      set db2dw.acarddet;
2144      where dTran between '01JAN2017'd and '28FEB2017'd
2145            and (cPOSMode in ('07')
2146                or (cPOSMode in ('90','02')
2147                  and cmiss(cToken, cPvder, idTReq) = 0));
ERROR: Function/subroutine CMISS not found
2148  run;

I think this part of the log file you're looking for.

Ksharp
Super User

If you have low version sas. there is an alternative way.




data x;
input (a b c) ($);
cards;
w e .
s f d
;
run;

data want;
 set x;
 array x{*} $ _character_;
 n_miss=cmiss(of x{*});
 
 
/*alternative way*/
 _n_miss=0;
 do i=1 to dim(x);
  if missing(x{i}) then _n_miss+1;
 end;
 
 
 if _n_miss=1 then put 'xxx';
run;

proc print;run;

afiqcjohari
Quartz | Level 8
Hi Ksharp, thanks for this alternative suggestion!

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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
  • 6 replies
  • 2871 views
  • 0 likes
  • 4 in conversation