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.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.