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

I'm trying to make a bubble plot using sgmaps with the group option as seen here: https://blogs.sas.com/content/graphicallyspeaking/2018/11/29/proc-sgmap-series-plot-importing-shapef...

 

My code works fine without the group option, but is throwing the following error when I add it:

 

 97           bubble x=x y=y size=areacodes  / group=outlier_flag;
                                               _____
                                               22
                                               76
 ERROR 22-322: Syntax error, expecting one of the following: ;, DATALABEL, DATALABELATTRS, DATALABELPOS, FILL, FILLATTRS, 
               LEGENDLABEL, NAME, NOFILL, OUTLINE, TRANSPARENCY.  
 ERROR 76-322: Syntax error, statement will be ignored.

My full code:

 

 
data annotations;   
   set sashelp.zipcode(keep=zip areacodes);
   where zip in (89119,00501);
   outlier_flag = zip eq 89119;
run; 

proc geocode method=zip data=annotations out=annotations_xy lookupcity=sashelp.zipcode nocity attributevar=(state); 
run;

proc sql noprint;
  select distinct state into :state_list separated by ',' from annotations_xy;
quit;
%put &=state_list;

data map_boundaries;
  set maps.states;
  where state in (&state_list);
  x = -x * 45/atan(1); 
  y =  y * 45/atan(1);
run;
     
ods graphics / reset=all imagename="map" imagefmt=png width=1024px height=768px border=off;

proc sgmap mapdata=map_boundaries plotdata=annotations_xy;           
  esrimap url='http://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Light_Gray_Base';  
  choromap / mapid=state density=2;   
  bubble x=x y=y size=areacodes  / group=outlier_flag;
run;
quit;



Setinit excerpt:

Original site validation data
 Current version: 9.04.01M5P091317
 Operating System:   LIN X64 .
 Product expiration dates:
 ---Base SAS Software                      
 ---SAS/STAT                               
 ---SAS/GRAPH                              
 ---SAS Integration Technologies           
 ---SAS/Secure 168-bit                     
 ---SAS Enterprise Guide                   
 ---SAS/ACCESS Interface to PC Files       
 ---SAS Workspace Server for Local Access  

Is it possible this feature was only just added and doesn't exist in TS1M5?  I couldn't find any documentation that clarifies things.

1 ACCEPTED SOLUTION

Accepted Solutions
SuzanneDorinski
Lapis Lazuli | Level 10

The GROUP= option for the BUBBLE statement is new in SAS 9.4M6.  Below is a screen shot from the "What's New" documentation.

 

What's New in Base SAS shows when options are added to ODS Graphics and Mapping proceduresWhat's New in Base SAS shows when options are added to ODS Graphics and Mapping procedures

It looks like the version tag might be in the wrong spot in the online documentation.  I circled the version tag in red in the screen shot below.  I think it should be before GROUP=variable, not after the first sentence for GROUP=variable.

 

Version tag might be in the wrong spot in SAS online documentationVersion tag might be in the wrong spot in SAS online documentation

I'm using SAS 9.4M6 in SAS University Edition.  I downloaded the STATES dataset from http://support.sas.com/rnd/datavisualization/mapsonline/html/archivedmaps.html and tried your code.  The SIZE=variable has to be numeric.  The areacodes variable is character.  I included the areacode variable in the annotations dataset, and then used SIZE=areacode on the BUBBLE statement, with DATALABEL=areacodes as an option.

 

The image below shows the map.

 

Map showing area codes for spots in Nevada and New YorkMap showing area codes for spots in Nevada and New York

View solution in original post

1 REPLY 1
SuzanneDorinski
Lapis Lazuli | Level 10

The GROUP= option for the BUBBLE statement is new in SAS 9.4M6.  Below is a screen shot from the "What's New" documentation.

 

What's New in Base SAS shows when options are added to ODS Graphics and Mapping proceduresWhat's New in Base SAS shows when options are added to ODS Graphics and Mapping procedures

It looks like the version tag might be in the wrong spot in the online documentation.  I circled the version tag in red in the screen shot below.  I think it should be before GROUP=variable, not after the first sentence for GROUP=variable.

 

Version tag might be in the wrong spot in SAS online documentationVersion tag might be in the wrong spot in SAS online documentation

I'm using SAS 9.4M6 in SAS University Edition.  I downloaded the STATES dataset from http://support.sas.com/rnd/datavisualization/mapsonline/html/archivedmaps.html and tried your code.  The SIZE=variable has to be numeric.  The areacodes variable is character.  I included the areacode variable in the annotations dataset, and then used SIZE=areacode on the BUBBLE statement, with DATALABEL=areacodes as an option.

 

The image below shows the map.

 

Map showing area codes for spots in Nevada and New YorkMap showing area codes for spots in Nevada and New York

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 1 reply
  • 432 views
  • 1 like
  • 2 in conversation