BookmarkSubscribeRSS Feed
Bhavesh1
Calcite | Level 5

Hi Technical Support team,

 

I have an error message in the log, see below;

 

ERROR: Problem determining cell structure. Please contact
       Technical Support and provide the PROC TABULATE
       code that caused this problem.
NOTE: Execution terminating

 

Please see PROC TABULATE:

proc tabulate  data = temp ORDER=FORMATTED FORMAT=comma15.  MISSING  FORMCHAR='82838485868788898A8B8C'x     ;
 var enrols ;
        class instn course_funding_source daydue monthdue december_rec;
                 

table
(all='Total') 
(instn = ' ' ),
december_rec=' ' * (monthdue = ' ' all = 'Total' )
/rts=40 box='RTO' misstext = ' ';

  
table
(all='Total') 
(course_funding_source =' ' all = 'Total'),
december_rec=' ' * (monthdue = ' ' all = 'Total' )
/rts=40 box='Course Funding Source' misstext = ' ';

 

%TAB2HTM (CAPTURE=OFF,
 RUNMODE=B,
 OPENMODE=REPLACE, 
        HTMLFILE = L:\TSAF - SAS\EXTRACTS\2018\missingres_2018all_&EXREPDATE18..html,
 BRTITLE=Missing Results,
 CENTER=N);

 
run;

 

Please help to resolve this the above issue,

 

Regards

Bhavesh

5 REPLIES 5
Astounding
PROC Star

This part looks a little strange:

 

table
(all='Total') 
(course_funding_source =' ' all = 'Total'),

 

To be consistent with the structure of the first table, it should look like this:

 

table
(all='Total') 
(course_funding_source =' '),

 

This is really a guess.  There's no guarantee that this is the problem.  Certainly the error message is highly unusual.  But perhaps SAS has trouble determining whether you want ALL to appear before or after the COURSE_FUNDING_SOURCE.

Bhavesh1
Calcite | Level 5
Still getting the same error message after amending structure if the first table, see print screen below.



[cid:image001.png@01D39B5F.9D6F45B0]




Bhavesh1
Calcite | Level 5

Thank you for the response. After amending the structure of the first table as suggested in the email, still getting the same error message. Please see attachment.

 

 

Astounding
PROC Star

Just one final suggestion then ....

 

Try PROC TABULATE with just one TABLE statement.  See if either one works.

ballardw
Super User

Provide some example data in the form of a data step.

 

I think you have way to many () in the code

table
   all='Total' 
   instn = ' ' ,
   december_rec=' ' * (monthdue = ' ' all = 'Total' )
   /rts=40 box='RTO' misstext = ' '
;

  
table
   all='Total' 
   course_funding_source =' ' ,
   december_rec=' ' * (monthdue = ' ' all = 'Total' )
   /rts=40 box='Course Funding Source' misstext = ' '
;

perhaps

 

 

My next thought would be to remove the %TAB2HTM from the code and see if that works.

 

The TAB2HTM macro was written for SAS version 6 to create html output. Unless you are turning ODS HTML off it is likely that your output is going to html in the first place.

If you have turned off HTML output put consider using it.

RTS= only applies to LISTING output.

 

If you want to control appearance the you change the ODS style.

To send the output to a specific file then use the ODS HTML (or other destination) options.

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!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

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
  • 5 replies
  • 880 views
  • 0 likes
  • 3 in conversation