SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
AaronJ
Obsidian | Level 7

I am running PROC Ttest withe following code:

PROC IMPORT DATAFILE=FILEREF
DBMS=XLSX
OUT=WORK.IMPORT;
GETNAMES=YES;
RUN;
data AllEvents;
set import;

RUN;
if Phase=1;
logVWC=log(VWC);

proc ttest cochran ci=equal umpu;
Class Phase;
Var logVWC;
run;

 

SAS gives me the following error message:  ERROR: The CLASS variable does not have two levels.

 

In the Excel file that is imported in the first statement, Phase variables are 1 and 2, so it definitely has 2 and only 2 levels.

 

any insights would be appreciated

2 REPLIES 2
PaigeMiller
Diamond | Level 26

@AaronJ wrote:

I am running PROC Ttest withe following code:

PROC IMPORT DATAFILE=FILEREF
DBMS=XLSX
OUT=WORK.IMPORT;
GETNAMES=YES;
RUN;
data AllEvents;
set import;

RUN;
if Phase=1;
logVWC=log(VWC);

proc ttest cochran ci=equal umpu;
Class Phase;
Var logVWC;
run;

 

SAS gives me the following error message:  ERROR: The CLASS variable does not have two levels.

 

In the Excel file that is imported in the first statement, Phase variables are 1 and 2, so it definitely has 2 and only 2 levels.

 

any insights would be appreciated


SAS doesn't care about the Excel file that is imported. SAS only cares about WORK.ALLEVENTS. What is in WORK.ALLEVENTS, how many levels does PHASE have in WORK.ALLEVENTS?

 

Well, I think I know the answer because in your code you have

 

if Phase=1;

which means that the variable PHASE in WORK.ALLEVENTS has only one level ... it only has PHASE=1

 

--
Paige Miller
AaronJ
Obsidian | Level 7

thanks, i think you and i caught that at the same time. I tried to delete this post, but SAS told me i didn't have sufficient privileges. 
Again, thanks for pointing out the error.

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

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
  • 2 replies
  • 2772 views
  • 0 likes
  • 2 in conversation