Je suis confronté à un obstacle lors de la création d’un rapport, et j’ai besoin de votre aide, s’il vous plaît. Mon programme actuel génère les tableaux successivement. Cependant, j’aimerais avoir la flexibilité de les organiser selon mes préférences. Par exemple, dans le premier onglet, j’aimerais placer les tableaux 1 et 2 côte à côte, puis le troisième tableau en dessous. Bref, je veux pouvoir disposer des tableaux à ma convenance sur une feuille Excel. Malheureusement, mes tentatives jusqu’à présent n’ont pas été couronnées de succès. J’ai essayé d’utiliser « ods layout », mais apparemment la syntaxe que j’ai utilisée n’était pas correcte. Merci pour votre aide précieuse
ods excel file='chemin_example6.xlsx' options( /*autofilter = "1-3" frozen_headers = "on" frozen_rowheaders = "1"*/ start_at='C3' sheet_interval='none' sheet_name='Cl'); proc report data=sashelp.class; column age height weight; define age / group; define height / mean; define weight / mean; rbreak before / summarize; run; proc report data=sashelp.class; column sex height weight; define sex / group; define height / mean; define weight / mean; rbreak before / summarize; run; proc tabulate data=sashelp.class; class sex age; table sex, age ; run; ods excel options (sheet_interval='output') ; ods exclude all; data _null_; declare odsout obj() ; run; ods select all; /*******************************************************************/ ods excel options (sheet_interval='none' sheet_name='H') ; proc report data=sashelp.heart; column bp_status height weight; define bp_status / group; define height / mean; define weight / mean; rbreak before / summarize; run; proc report data=sashelp.heart; column sex height weight; define sex / group; define height / mean; define weight / mean; rbreak before / summarize; run; ods excel options (sheet_interval='output') ; ods exclude all; data _null_; declare odsout obj() ; run; ods select all; /*******************************************************************/ ods excel options (sheet_interval='none' sheet_name='ttt') ; proc report data=sashelp.heart; column bp_status height weight; define bp_status / group; define height / mean; define weight / mean; rbreak before / summarize; run; proc report data=sashelp.heart; column sex height weight; define sex / group ; define height / mean; define weight / mean; rbreak before / summarize; run; ods excel close ;
Dag @sniper ,
Personnellement, j'essaierais avec PROC TEMPLATE et / ou PROC GREPLAY.
Mais si j'étais vous, je jetterais d'abord un œil aux références ci-dessous.
[ Un dernier point : en posant votre question en français, vous avez beaucoup moins de portée. J'essaierais de poser la question en anglais, ... vous aurez alors de bien meilleures chances d'obtenir une réponse rapide et correcte. ]
Koen
Personnellement, je n'ai jamais testé la macro %Excel_enhance qui n'est sensée que fonctionner sous Windows ; elle est mentionnée dans la publication partagée par Koen https://www.lexjansen.com/sesug/2018/SESUG2018_Paper-295_Final_PDF.pdf.
Le powershell mentionnée dans l'autre publication est aussi du code pour Windows. Le code fonctionne chez moi avec l'indication explicite des chemins d'accès au fichier excel et au fichier ps1 qu'il serait possible de supprimer ensuite avec la fonction fdelete par exemple: https://communities.sas.com/t5/ODS-and-Base-Reporting/How-can-I-display-two-proc-tabulate-next-to-ea...
On peut toujours les re´sultats dans un même dataset (1ere obs première table avec 1ère obs deuxième table) mais le rendu ne sera pas génial.
L'option start_at ne permettra pas de résoudre le problème.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.