I would be very grateful for anyone who can help me understand why I'm getting this error
ERROR: There are no valid observations. Could be caused by SUMVAR= or FREQ= variable.
GOPTIONS RESET = ALL;
ODS HTML FILE="C:\SASDATA\carsM.HTM";
PROC MEANS DATA= "C:\SASDATA\cars" MAXDEC=2 N MEAN STD;
VAR brand citympg;
WHERE brand="mazda";
TITLE 'Summary for GROUP A';
RUN;
ODS HTML FILE="C:\SASDATA\carsT.HTM";
PROC MEANS DATA= "C:\SASDATA\cars" MAXDEC=2 N MEAN STD;
VAR brand citympg;
WHERE brand="toyota";
TITLE 'Summary for GROUP B';
RUN;
ODS HTML FILE="C:\SASDATA\carsH.HTM";
PROC MEANS DATA= "C:\SASDATA\cars" MAXDEC=2 N MEAN STD;
VAR brand citympg;
WHERE brand="honda";
TITLE 'Summary for GROUP C';
RUN;
*.......................................CREATE THE BARCHART;
DATA BARCHART;SET "C:\SASDATA\SOMEDATA";
LENGTH HTMLLINK $40;
IF brand="mazda" THEN HTMLLINK='HREF="carsM.HTM"';
IF brand="toyota" THEN HTMLLINK='HREF="carsT.HTM"';
IF brand="honda" THEN HTMLLINK='HREF="carsH.HTM"';
ODS HTML FILE="C:\SASDATA\GCHART.HTM" GPATH="C:\SASDATA\";
ODS LISTING CLOSE;
PROC GCHART;
HBAR brand/ HTML=HTMLLINK;
TITLE 'Summary information for each GP.';
RUN; QUIT;
ODS HTML CLOSE;
ODS LISTING;
WHERE brand="toyota";
Check the case of your brand, it needs to match exactly.
Typically you can try and make everything upper or lower case.
where upcase(brand)="TOYOTA";
And for the rest of the brand= comparisons.
WHERE brand="toyota";
Check the case of your brand, it needs to match exactly.
Typically you can try and make everything upper or lower case.
where upcase(brand)="TOYOTA";
And for the rest of the brand= comparisons.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.