Hi All,
I have a table with different columns like columnA,.....columnN. I need to generate pdf report based on every unique variable present in the columnA and columnA has more than 1500 unique variables.
Ex:-
ColumnA. ColumnB ......... ColumnN
001abc1234. ....
001abc1234. ....
001def1234. ....
001def1234 ....
001abc5678. ....
001abc 5678. ....
In my code i'm currently able to generate pdf for 1 unique variable at a time and it is not possible to generate PDF reports more than 1500 times manually. I'm wondering how to automate the process so that in future irrespective of the count of unique variables i need to generate pdf reports for all of them.
It would be great if anyone could help me with this issue.
Thanks,
RD
It depends on how complex the report code is. It could be as simple as using the NEWFILE option on the ODS PDF statement or refactoring your code to be a macro that you can call dynamically using CALL EXECUTE.
ODS PDF NEWFILE option is here - note that you cannot easily control the file name which may be an issue.
https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/odsug/n0mc4eolqoned0n16oy88mpj0e4g.htm#p0sdu2...
Otherwise here's a tutorial on turning your reporting code into macro code that can be automated. I highly suggest working through the example fully and then doing it on your own data.
https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md
@Banana19 wrote:
Hi All,
I have a table with different columns like columnA,.....columnN. I need to generate pdf report based on every unique variable present in the columnA and columnA has more than 1500 unique variables.
Ex:-
ColumnA. ColumnB ......... ColumnN
001abc1234. ....
001abc1234. ....
001def1234. ....
001def1234 ....
001abc5678. ....
001abc 5678. ....
In my code i'm currently able to generate pdf for 1 unique variable at a time and it is not possible to generate PDF reports more than 1500 times manually. I'm wondering how to automate the process so that in future irrespective of the count of unique variables i need to generate pdf reports for all of them.
It would be great if anyone could help me with this issue.
Thanks,
RD
It depends on how complex the report code is. It could be as simple as using the NEWFILE option on the ODS PDF statement or refactoring your code to be a macro that you can call dynamically using CALL EXECUTE.
ODS PDF NEWFILE option is here - note that you cannot easily control the file name which may be an issue.
https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/odsug/n0mc4eolqoned0n16oy88mpj0e4g.htm#p0sdu2...
Otherwise here's a tutorial on turning your reporting code into macro code that can be automated. I highly suggest working through the example fully and then doing it on your own data.
https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md
@Banana19 wrote:
Hi All,
I have a table with different columns like columnA,.....columnN. I need to generate pdf report based on every unique variable present in the columnA and columnA has more than 1500 unique variables.
Ex:-
ColumnA. ColumnB ......... ColumnN
001abc1234. ....
001abc1234. ....
001def1234. ....
001def1234 ....
001abc5678. ....
001abc 5678. ....
In my code i'm currently able to generate pdf for 1 unique variable at a time and it is not possible to generate PDF reports more than 1500 times manually. I'm wondering how to automate the process so that in future irrespective of the count of unique variables i need to generate pdf reports for all of them.
It would be great if anyone could help me with this issue.
Thanks,
RD
Thank you Reeza. The second solution you've mentioned is closer to what I expected.
The easiest way seems to sort the data by ColumnA and use "newfile=bygroup" in the ods pdf statement along with "by ColumnA" in proc report. Unfortunately you can't use #byval1 to name the files.If xcmd is active, renaming the files using os-command is not that difficult, https://communities.sas.com/t5/SAS-Procedures/Rename-External-File/td-p/10703 shows the code, which needs some tweaking, of course.
Thank you Andreas_ids.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.