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 :

Cartographie sous SAS


Sujet :

ODS et reporting

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 52
    Points : 24
    Points
    24
    Par défaut Cartographie sous SAS
    Bonjour,
    Je souhaiter afficher une carte de la France découpée en département dans un premier temps et ensuite colorer les différents départements avec une couleur en fonction d'une variable avec différentes modalités (que je créerais avec un format).

    J'ai fait une petite recherche sur le forum qui propose un code de cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    PROC GMAP DATA = ETUDEZONE
    MAP = maps.france ;
    ID ID;
    CHORO NB_R_TG / discrete ;
    RUN ;
    Ma table ETUDEZONE est ma table contenant entre autres 2 colonnes, une variable ID avec le numéro du départ et une variable NB_R qui est un nombre attribué pour chaque départ.
    Quand j'execute ce bout de code, j'ai l'erreur suivante:

    "ERROR: ID variable ID is of different type in data sets."

    Pourquoi?



    Merci beaucoup

  2. #2
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    C'est parce que dans ta table ETUDEZONE, ta variable ID est de type Caractère,
    Alors qu'il te faut une variable Numérique en entrée de ta proc gmap.
    cf exemple ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data ETUDEZONE ; ID = 1 ; NB_R_TG = 1 ; run ;
    PROC GMAP DATA = ETUDEZONE MAP = maps.france ; ID ID ; CHORO NB_R_TG / discrete ; RUN ;
        /* => Beau graphe */
     
    data ETUDEZONE ; ID = "1" ; NB_R_TG = 1 ; run ;
    PROC GMAP DATA = ETUDEZONE MAP = maps.france ; ID ID; CHORO NB_R_TG / discrete ; RUN ;
      /* => ERROR: ID variable ID is of different type in data sets. */

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup, ça fonctionne
    Ou est-ce que je pourrais trouver un petit tuto qui explique comment colorer la carte en fonction de la valeur d'une variable parce que je trouve pas grand chose sur internet...

    Encore une fois, merci

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    C'est bon j'ai trouvé en bidoullant un petit peu.
    Je mets le code si ça peut servir à quelqu'un:

    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
     
     
    /* Je fais une proc univariate pour trouver les quantiles de ma variables et faire un format*/
    proc univariate data =ETUDEZONE;
      var NB_R_TG;
    run;
     
    /* Je fais ma proc gmap en changeant les couleurs par défaut et en appliquant le format à ma variable (pour avoir seulment 4 modalités)*/
    proc gmap data = ETUDEZONE map=maps.france;
      id ID;
      choro NB_R_TG /discrete;
      format NB_R_TG NB_R_TG.;
    GOPTION RESET=ALL ;
    	PATTERN1 COLOR=YELLOW;
    	PATTERN2 COLOR=blue;
    	PATTERN3 COLOR=RED;
    	PATTERN4 COLOR=BLACK;


  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    J'essaye à présent de superposer sur ma carte des carrés dont la taille dépend d'une variable (plus la valeur de la variable est importante,plus le carré sera gros).
    A priori, je dois utiliser une table annotate pour insérer des figures sur la carte mais je n'arrive vraiment pas à trouver ce que je veux faire sur internet.....

    Les tutos sont bien souvent compliqués et jouent sur la position des figures à placer alors que dans mon cas je ne devrais pas en tenir compte...
    Quelqu'un a une piste pour moi?

  6. #6
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Salut,
    Dans les exemples de cette doc on voit que tu peux choisir ton symbole et sa taille. En mettant une variable en taille, ça devrait le faire non?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    Bonjour,
    Je suis justement tombé sur ce tuto sauf que j'ai du mal à l'adapter pour mon cas qui est relativement plus simple que ca.....

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    Bon j'ai fait une table annotate mais ca ne fonctionne toujours pas et ca commence à m'attrister fortement

    J'essaye juste d'avoir des figures sur la carte pour l'instant,ce qui marche relativement bien avec le code ci-dessous, mais dans la table map.france on a plusieurs coordonnées pour le département(les bordures du département en fait).
    Du coup, quand je lance ce code, j'ai des petits symboles qui apparaissent autour des départements alors que moi je cherche à avoir des symboles au milieu des départements pour après pouvoir jouer sur la taille de ces symboles.
    Toute aide sera vraiment la bienvenue !

    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
     
    data toto;
    length function style color $ 8 position $ 1
              text $ 20;
    retain xsys ysys "2" 
    hsys "3"
    when "a"; 
     
    set maps.france(keep=x y ID);
    function="symbol"; style="marker"; color="dark"; size=2;
    output;
     
    run;
     
     
    proc gmap data = ETUDE	MAP=MAPS.FRANCE;
      id ID;
      choro zonemoy /annotate=toto  discrete nolegend;
     
      format zonemoy risquezone.;
      PATTERN1 COLOR=white;
    	PATTERN2 COLOR=grey;
    	PATTERN3 COLOR=brown;
    	PATTERN4 COLOR=BLACK; 
     
     
    run;
    quit;
    EDIT: En bidoullant un petit peu, dans ma base de données je calcule la moyenne des coordonnées des croix pour chaque département ce qui par miracle me permet d'avoir une croix centrée!
    Donc j'ai bien ce que je veux, c'est à dire une croix par département.

    Dernier problème à résoudre: quand j'essaye de faire un carré j'ai plein de problèmes et surtout le paramètre size a pas l'air d'aimer prendre une variable en paramètre

Discussions similaires

  1. [IML] Intégrale sous SAS
    Par helenei dans le forum SAS IML
    Réponses: 4
    Dernier message: 13/05/2008, 11h56
  2. Zones hachurées sous SAS/GRAPH
    Par enicnath dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 07/05/2008, 21h26
  3. Cartographie sous SAS
    Par CélineM dans le forum ODS et reporting
    Réponses: 10
    Dernier message: 17/04/2008, 11h25
  4. comment manipuler les OLAP sous SAS
    Par Bessa_bd dans le forum Outils BI
    Réponses: 5
    Dernier message: 28/01/2008, 17h44
  5. [carto] Cartographie sous ACCESS
    Par guen dans le forum Modélisation
    Réponses: 3
    Dernier message: 14/12/2007, 10h33

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