The documentation says
"The print procedure is now completely integrated with ODS."
In comparison with proc freq that was progressively integrated into ODS with specific output objects
i am wondering in the case of the proc print output
if
and where is the specific table template that is behind the proc
Or does the sentence means only that you may entirely act on the style template
so that it relays the modifications into the proc (without {style...} adds-on) ?
Andre
Trace:
Nom : Print
Libellé : Table WORK.CLASS
Nom données : ProcPrintTable
Chemin : Print.ByGroup1.Print
-------------
NOTE: The above message was for the following BY group:
Sex=F
Sortie ajoutée :
-------------
Nom : Print
Libellé : Table WORK.CLASS
Nom données : ProcPrintTable
Chemin : Print.ByGroup2.Print
-------------
NOTE: The above message was for the following BY group:
Sex=M
Hi, Andre:
As far as I know, PROC PRINT, PROC REPORT and PROC TABULATE do NOT have table templates. The work with PROC FREQ did result in a table template for crosstab tables.
I think what is meant by PROC PRINT being "fully integrated" into ODS refers to the fact that in early versions of SAS and ODS DOCUMENT, the output object created by PROC PRINT did not "play well" with ODS DOCUMENT, as I remember, especially with BY group processing, there were some possible issues. I think if you look in the What's New for either 9.2 or 9.3, you will see a note about PROC REPORT being integrated into ODS DOCUMENT and then PROC PRINT being integrated into ODS DOCUMENT.
You will still have to use style(area)={attr=value} overrides for things like the subtotal lines or the grand total lines...with PRINT, REPORT and using slightly different syntax for TABULATE as well. Some of the things you can do with PRINT, REPORT and TABULATE allow you MORE control over report areas (like output from a LINE statement or a Grand Total line) than a style template is built for. A style template has to work with all those other procedures (FREQ, MEANS, GLM, REG, etc, etc) that do not have style override capabilities. But, with those procedures, you can put style overrides directly into the table template that governs the procedure. Because procedures like PRINT, REPORT and TABULATE do NOT have table templates, the style override syntax is a way to give you a finer level of control.
cynthia
Hi, Andre:
As far as I know, PROC PRINT, PROC REPORT and PROC TABULATE do NOT have table templates. The work with PROC FREQ did result in a table template for crosstab tables.
I think what is meant by PROC PRINT being "fully integrated" into ODS refers to the fact that in early versions of SAS and ODS DOCUMENT, the output object created by PROC PRINT did not "play well" with ODS DOCUMENT, as I remember, especially with BY group processing, there were some possible issues. I think if you look in the What's New for either 9.2 or 9.3, you will see a note about PROC REPORT being integrated into ODS DOCUMENT and then PROC PRINT being integrated into ODS DOCUMENT.
You will still have to use style(area)={attr=value} overrides for things like the subtotal lines or the grand total lines...with PRINT, REPORT and using slightly different syntax for TABULATE as well. Some of the things you can do with PRINT, REPORT and TABULATE allow you MORE control over report areas (like output from a LINE statement or a Grand Total line) than a style template is built for. A style template has to work with all those other procedures (FREQ, MEANS, GLM, REG, etc, etc) that do not have style override capabilities. But, with those procedures, you can put style overrides directly into the table template that governs the procedure. Because procedures like PRINT, REPORT and TABULATE do NOT have table templates, the style override syntax is a way to give you a finer level of control.
cynthia
So what's new for proc print behind "fully integrated" is quite only bounded with ods document!
This was not clear from what's new in 9.3 pdf document!
I had noticed already the by behavior comparing "ods traces" between 9.2.3 and 9.3.
Thank you Cynthia
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.