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
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.
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.
Just one final suggestion then ....
Try PROC TABULATE with just one TABLE statement. See if either one works.
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.
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.
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.