BookmarkSubscribeRSS Feed
sniper
Calcite | Level 5

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 ;
2 REPLIES 2
sbxkoenk
SAS Super FREQ

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

xxformat_com
Barite | Level 11

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.

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 585 views
  • 0 likes
  • 3 in conversation