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 :

[SGPLOT] Régler les DPI [ODS]


Sujet :

ODS et reporting

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut [SGPLOT] Régler les DPI
    Bonsoir à toutes et à tous,

    Je dois produire un graphique via la PROC SGPLOT. Tout fonctionne bien jusqu'aux détails techniques exigées et notamment le fait que la figure doit contenir X pixels par pouces.

    Et là je ne sais pas comment faire.

    Voilà le bout de code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ODS GRAPHICS ON / RESET=ALL IMAGENAME = "NAME" IMAGEFMT=TIFF border=off NOGTITLE dpi=500;
    ODS LISTING GPATH = "&path\";
    proc sgplot data = table;
    ...;
    run;
    Mon problème : que je mette 500, 10, ou 1000 DPI, rien ne change, mon .TIFF final est en 100 DPI (je le vois dans les propriétés du fichier).
    En fait c'est incroyable car même le changement de taille avec width et height ne change strictement rien à mon image finale...

    Avez-vous une idée pour me guider un peu ? Cela me bloque vraiment.

    Je suis sur SAS 9.3.

    Merci,

    Bien à vous,

    alers

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Ben franchement je changerai le format d'image pour du SVG, EPS, PNG pour mesurer un changement.
    Le SVG en 9.3 est pas mal (jette un oeil ici si tu as le temps : UTILISER LES SCALABLE VECTOR GRAPHICS EN SAS)
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Bonjour et merci pour votre réponse.

    Mon problème, c'est que je dois fournir une image au format TIFF avec un DPI spécifique (300 ou 500 je ne me souviens plus). C'est pour une publication aux règles strictes. Il y a aussi des conditions sur l'épaisseur des courbes, etc, mais je suppose que ce sera plus facile à régler.

    Je suppose qu'en passant à l'un des formats que vous recommandez mon code fonctionnerai (soit dit en passant il n'y a aucun message d'erreur dans le journal, mais les DPI ne veulent pas se modifier dans mon fichier généré). En revanche j'ai déjà testé en PNG et quand je vans dans les propriétés de l'image il n'y a rien qui indique les DPI.

    J'ai vu sur certaines pages du site de SAS qu'il existe visiblement un format spécifique PNG300 ou TIFF300. Savez-vous comment cela marche ?

    Si en tout cas je peux passer dans SAS par un autre format et ensuite le convertir en TIFF ce serait parfait.

    Je teste ça dés demain au boulot et je vous tiens au courant.

    Merci encore.

    alers

  4. #4
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Afin de répondre à ta question, j'ai utilisé cet exemple développé par le support SAS
    http://support.sas.com/documentation...a003283226.htm

    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
     
    /* Le dpi =200*/
     
    option gstyle;
    ods listing style=seaside;
    goptions reset=all device=tiffp xpixels=1000 xmax=5in ypixels=1200 ymax=6in;
     
    proc gchart data=sashelp.cars;
       vbar Make;
          where MPG_Highway >= 37;
       run;
    quit;
     
     
    /*Je passe au DPI=300 avec la règle des 3*/
     
    goptions reset=all device=tiffp xpixels=1000 xmax=3.33in ypixels=1200 ymax=4in;
     
    proc gchart data=sashelp.cars;
       vbar Make;
          where MPG_Highway >= 37;
       run;
    quit;
     
    ods graphics off;

    Pour plus d'information http://fr.wikipedia.org/wiki/Point_par_pouce

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Bonjour,

    J'avoue ne pas comprendre.

    Cet exemple marche parfaitement quand je le lance tel quel. Par contre, il ne fonctionne pas du tout avec mon programme.

    J'ai :
    - un ODS GRAPHICS ON / RESET=ALL IMAGENAME = "NAME" IMAGEFMT=TIFF border=off,
    - un ODS LISTING GPATH = ,
    - le GOPTIONS donc,
    - une PROC SGPLOT.

    D'où peut bien venir mon soucis ? Est-ce que les ODS GRAPHICS, LISTING et GOPTIONS sont incompatibles ?

    D'ailleurs quand je prends exactement l'exemple cité mais que je fait une SGPLOT au lieu d'une GPLOT c'est un PNG qui sort et pas un TIF.

    Je ne pense pas pouvoir convertir tout ce que j'ai fait en GPLOT (d'autant plus qu'il y a une SGPANEL).

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Je me dis que le problème vient peut-être du fait que la sortie est une sortie HTML (je ne vois pas pourquoi car je n'ai rien précisé à SAS à ce sujet...). Or j'ai lu sur le site de SAS que les sorties HTML ne peuvent pas atteindre 300dpi.

    Savez-vous comment faire pour générer un fichier .TIF mais pas sous forme de sortie HTML ? Sur le site de SAS ils parlent d'ODS RTF par exemple. Mais ça ne fonctionne pas car mon image est dans un fichier .RTF. Pour éditer le .TIF je fais un c/c dans Paint mais je n'ai absolument pas 300dpi...

    C'est impossible de juste créer un fichier externe à partir de SAS ?

    alers

  7. #7
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    1/ Sauf erreur de ma part, le problème vient de la sortie SGplot en format Tiff.

    2/ J'ai par réussi à comprendre comment le paramètre DPI a été déclaré par Default à ce format de sortie pour pouvoir le modifier par la suite.

    3/ D'après ce que j'ai compris également, les paramètres des drivers présents dans sashelp.drivers ne sont pas pris en compte par sgplot contrairement à gplot.

    Donc la question reste entière. Comment modifier le paramètre DPI pour les sorties TIFF lorsqu'on utilise sgplot?

    Voici le document de référence que j'ai utilisé:
    http://support.sas.com/techsup/techn...674/ts674.html

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Salut,

    Merci beaucoup pour cette réponse, il faudra que j'y jette un œil attentif.

    De notre côté, nous avons trouvé une solution alternative :

    1 - exporter le résultat de la PROC SGPLOT dans un .PNG avec 300 DPI,
    2 - importer ce fichier .PNG dans SAS et faire un filename grafout avec un .TIF,
    3 - sortir un .TIF avec PROC GSLIDE.

    Je ne comprends absolument pas comment ça fonctionne, mais ça fonctionne. Mon .TIF final a bien 300 DPI. Pour les parties à 600 DPI, je verrai si j'en ai besoin.

    C'est grâce au support que nous avons pu nous en sortir.

    alers

  9. #9
    Membre à l'essai
    Homme Profil pro
    hacene.nedjar@clinepi.mcgill.caassistant recherchehacene.nedjar@clinepi.mcgill.ca
    Inscrit en
    Mai 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : hacene.nedjar@clinepi.mcgill.caassistant recherchehacene.nedjar@clinepi.mcgill.ca
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 30
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par alers Voir le message
    Bonjour,

    J'avoue ne pas comprendre.

    Cet exemple marche parfaitement quand je le lance tel quel. Par contre, il ne fonctionne pas du tout avec mon programme.

    J'ai :
    - un ODS GRAPHICS ON / RESET=ALL IMAGENAME = "NAME" IMAGEFMT=TIFF border=off,
    - un ODS LISTING GPATH = ,
    - le GOPTIONS donc,
    - une PROC SGPLOT.

    D'où peut bien venir mon soucis ? Est-ce que les ODS GRAPHICS, LISTING et GOPTIONS sont incompatibles ?

    D'ailleurs quand je prends exactement l'exemple cité mais que je fait une SGPLOT au lieu d'une GPLOT c'est un PNG qui sort et pas un TIF.

    Je ne pense pas pouvoir convertir tout ce que j'ai fait en GPLOT (d'autant plus qu'il y a une SGPANEL).
    Bonjour,

    Essayez avec:

    ods listing gpath= IMAGE_DPI=;

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

Discussions similaires

  1. Régler les options de compilation
    Par wassimbik dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 08/03/2010, 14h32
  2. [2.3.1] Comment régler les marges pdf
    Par peuplier dans le forum BIRT
    Réponses: 7
    Dernier message: 05/02/2009, 13h24
  3. Régler les problèmes de polices!
    Par Prosis dans le forum Ubuntu
    Réponses: 2
    Dernier message: 04/02/2009, 21h14
  4. Réponses: 0
    Dernier message: 27/06/2008, 21h46
  5. Régler les options d'environnement
    Par grome dans le forum Sql*Plus
    Réponses: 3
    Dernier message: 24/05/2008, 20h08

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