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

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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
  • 445 views
  • 1 like
  • 2 in conversation