IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODS et reporting Discussion :

[PROC TABULATE] Supprimer la première page contenant les informations répertoires


Sujet :

ODS et reporting

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 30
    Points : 30
    Points
    30
    Par défaut [PROC TABULATE] Supprimer la première page contenant les informations répertoires
    Bonjour,
    est il possible lorsqu'on utilise une proc tabulate sur une sortie HTML et PDF
    de supprimer la première page qui est générée qui contient les informations répertoires et des bibliothèques ?

    Sas Version 9.1

    Ci-joint une image pour que ce soit plus parlant :



    Merci de votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Analyste - Information médicale
    Inscrit en
    Mars 2012
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste - Information médicale
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2012
    Messages : 72
    Points : 255
    Points
    255
    Par défaut
    Bonjour,

    je ne comprends pas pourquoi la proc tabulate te donne ces tableaux.
    Selon moi ce sont les résultats d'une "proc datasets" plutôt ???

  3. #3
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Tu peux utiliser ODS SELECT ou ODS EXCLUDE pour filtrer les tableaux générés par SAS.

    Comme Fabien, je trouve que c'est une curieuse sortie : on dirait qu'elle provient d'une proc CONTENTS / DATASETS et pas d'une proc TABULATE.

    Bon courage.
    Olivier

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Bonjour, merci pour vos premières réponses, voici mon code,
    Je débute sur la programmation SAS soyez indulgents s'il vous plait !

    J'utilise EG et j'ai stocké ce programme dans une procédure stockée
    afin de l'intégrer à notre portail. lorsque je fais appel à cette procédure
    du portail j'obtiens systématiquement 2 pages, la première avec les informations que je vous ai transmises avant, la seconde avec les résultats.
    Il y a peut etre une configuration à faire, le formateur m'avait dit qu'il y avait
    une astuce mais ne se souvenait plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
     
    /* variables de debug */
     
    %let MmoisYearDep=03/2012;
    %let MmoisYearFin=03/2012;
     
     
     
    %MACRO MTABUL();
     
    	%global MmoisYearDep MmoisYearFin Mdtdeb Mdtfin;
    	options fmtsearch=(htods work);
     
    	%let _ODSSTYLE=sasweb ;
     
    	/* Extraction des informations de stocks utiles */
     
    	data _null_;
    		/* on positionne les variables de temps si non initialisées */
    		if "&MmoisYearDep"   = "" then call symput( "MmoisYearDep" ,month(today())/year(today()) );    /* mois/annee en cours  */
    		if "&MmoisYearFin"   = "" then call symput( "MmoisYearFin" ,month(today())/year(today()) );    /* mois/annee en cours  */
    	run;	
     
    	data _null_;
    		datedeb = intnx( "month" ,input(compress( "01/&MmoisYearDep" ),ddmmyy10.),0,'beginning');
    		datefin = intnx( "month" ,input(compress( "01/&MmoisYearFin" ),ddmmyy10.),0,'end');
    		call symput( "Mdtdeb" ,datedeb);
    		call symput( "Mdtfin" ,datefin);
    	run;
     
    	/* Extraction des sources sur annee/mois selectionnés */
     
    	proc sql noprint;
     
    		create table ca_gedimat as
    		select distinct	  code_client
    				, substr(nom_client_interne,9) as nom_client
    				, num_facture
    				, dt_facture
    				, vol_facture
    				, code_epaisvte/1000 as epaisseur format 3.2
    				, code_largvte/1000 as largeur format 3.2
    				, longueur
    				, unit_facture
    				, mt_facture
    				from htdwh.factures
    		WHERE nom_client_interne LIKE "%GEDIMAT%"
    		order by code_client
    		;
     
    	quit;
     
    	/* Regeneration des volumes en M3 à date sur les jours du mois en cours*/
     
    	data ca_gedimat2 ficdelete;
    		format date_jour ddmmyy10. ;
    		set ca_gedimat;
    		do i = &Mdtdeb to &Mdtfin by 1;
    			if i = dt_facture then do;
    				date_jour=i;
    				if unit_facture = "M2" then do;
    					volume = vol_facture * epaisseur;
    				end;
     
    				else if unit_facture = "ML" then do;
    					volume = vol_facture * epaisseur * largeur;
    				end;
     
    				else volume = vol_facture;
    				output ca_gedimat2;
    			end;
     
    			else output ficdelete;				
    		end;
    	run;
     
    	/* Suppression des enreg inutiles */
    	proc datasets lib=work;
    		delete ficdelete / memtype=data;
    	run;
     
    	proc sort data=ca_gedimat2;
    		by num_facture code_client;
    	run;
     
    	/* Creation d'un format de type color coding pour le tableau */
    	proc format;
    		picture fmtcolor
    			low -< 5="#FFCCCC"
    			5 - high="white";
    	run;
     
    	/* Quelques options utiles */
    	options linesize=256 pagesize=800;
    	goptions rotate=landscape;
    /*
    	ods listing close;
    	ODS html file="E:\HT-Decision\4- Résultats\gedimat.xls";
    */
     
    /*
    	ods html body="C:\Tomcat4.1\webapps\HT-CONTRATS\etat_stocks.html" style=seaside;
    */	
    	title1 h=4.6 f=Arial c=blue "CA REALISE SUR LA PERIODE DE &MmoisYearDep A &MmoisYearFin";
    	footnote1 h=2.4 f=arial j=r c=blue "Le &sysdate à &systime";
     
    	PROC TABULATE
    	DATA=WORK.CA_GEDIMAT2
    		;
     
    		LABEL 	volume='VOLUME M3'
    			mt_facture='MONTANT HT'
    			nom_client='Nom interne'
    			code_client='N° Client'
    		;
     
    		CLASS code_client / ORDER=DATA MISSING;
    		CLASS nom_client  / ORDER=DATA MISSING;
    		CLASS num_facture / ORDER=DATA MISSING;
    		CLASS dt_facture  / ORDER=DATA MISSING;
     
    		VAR volume mt_facture;
     
    		CLASS date_jour   / ORDER=DATA MISSING;
     
    		TABLE code_client*nom_client*num_facture*dt_facture ALL = "TOTAUX" * f=8.3
    		,
    		volume mt_facture / 
    		box="FACTURES" RTS = 15
    		;
    		KEYLABEL SUM="."
                             ALL='TOTAUX';
     
                  run;
    /*		
    	ods HTML close;
    	ods listing;
    */
     
    %MEND;
    %MTABUL();

  5. #5
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello;
    Dans ta proc Datasets tu rajoutes un NOLIST et surtout un quit;poru sortir de la proc datasets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    proc datasets lib=work nolist;
    		DELETE ficdelete / memtype=DATA;
    	run;
    quit;

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    oula le "quit".... eh bien voila une erreur de jeunesse !

    tout fonctionne parfaitement ainsi, merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/07/2011, 14h24
  2. [PROC TABULATE / REPORT] Colorier les lignes en fonction d'un critère
    Par joyeux_lapin13 dans le forum ODS et reporting
    Réponses: 10
    Dernier message: 03/03/2011, 18h27
  3. Supprimer les fichiers contenant les mots "xxxxxx"
    Par toxyco dans le forum VBScript
    Réponses: 3
    Dernier message: 10/06/2010, 09h53
  4. [PROC REPORT] Supprimer les Page Break
    Par toppich88 dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 04/06/2010, 18h25
  5. Réponses: 6
    Dernier message: 18/12/2009, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo