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

SAS Base Discussion :

Concaténation de variables contenant des valeurs manquantes


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut Concaténation de variables contenant des valeurs manquantes
    Bonjour,


    Je dispose de 5 variables et je souhaite créer une variable en les concaténant.
    J'ai utilisé !! mais ça ne fonctionne pas car mes variables contiennent des valeurs manquantes (mais c'est normal).
    Comment puis-je faire pour les concaténer même en ayant des valeurs manquantes?

    Merci

  2. #2
    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
    Bonjour,
    si t'es en version 9 de sas (V9) il y a les fonctions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    cat(var1,var2,var3,var4,var5);
     
    catt(var1,var2,var3,var4,var5);
     
    cats(var1,var2,var3,var4,var5);
     
    catx(var1,var2,var3,var4,var5);
    t'as aussi la concatination avec les (!!) ou sinon avec les pipe ( || ) ... avec la fonction compress pour éliminé tout les blancs.

    à condition que tes variables soit de type ALPHANUMERIQUE. sinon sa ne marchera pas ou sinon il faut convertir tes variables numérique en alphanum et t'as pour celà la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    put( var_numérique, $x.d);
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  3. #3
    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 si ca fonctionne avec du numérique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    data test;
    set sashelp.Class;
    mavar=.;
    concat=cats(age,height,weight,mavar);
    concatx=catx('/',age,height,weight,mavar);
    run;
    Je pense que le point fait un peu bizarre simplement. La transformation peut alors avoir son intérêt.
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Avec !! et || ça ne fonctionne pas.
    J'ai essayé les fonctions cat ça ne veut pas non plus.

    Mais variables sont de type texte, ce sont des chaines de caractéres

  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
    Sa fonctionne quand même dans le cas d’un mélange de variables numériques et variables alphanumériques. ?!
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  6. #6
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    Tu as du te tromper dans la syntaxe. Avec celle ci-dessous ca devrait fonctionner. Si ca ne marche pas fait nous parvenir la tienne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    newcar=var1!!var2;
    newvar2=cat(var1,var2);

  7. #7
    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
    Citation Envoyé par Lilouche52 Voir le message
    Avec !! et || ça ne fonctionne pas.
    J'ai essayé les fonctions cat ça ne veut pas non plus.

    Mais variables sont de type texte, ce sont des chaines de caractéres
    c'est quoi qui ne fonctionne pas ? donne un exemple de jeux de données et le résultat souhaiter.Pour qu'on puisse avroir une visoin de ce que tu veux vraiment faire.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  8. #8
    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
    Oui des mélanges également.

    15 DATA test;
    16 SET sashelp.Class;
    17 mavar=.;
    18 concat=cats(sex,age,height,weight,mavar);
    19 concatx=catx('/',sex,age,height,weight,mavar);
    20 run;

    NOTE: There were 19 observations read from the data set SASHELP.CLASS.
    NOTE: The data set WORK.TEST has 19 observations and 8 variables.
    NOTE: DATA statement used (Total process time):
    real time 0.01 seconds
    cpu time 0.00 seconds
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  9. #9
    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
    merci.
    j'ai remplacé mavar=. ( numérique) par mavar= ' ' caractère et sa marche.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    C'est bon merci ça fonctionne!

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

Discussions similaires

  1. Somme de macro-variables dont des valeurs manquantes
    Par evilwell dans le forum Macro
    Réponses: 3
    Dernier message: 01/11/2012, 22h22
  2. [DATA] Manipulation de bases de données contenant des valeurs manquantes
    Par boudake dans le forum SAS Base
    Réponses: 1
    Dernier message: 01/09/2011, 16h30
  3. Réponses: 7
    Dernier message: 14/01/2011, 11h54
  4. Réponses: 10
    Dernier message: 19/08/2009, 12h02
  5. Réponses: 18
    Dernier message: 28/04/2006, 11h00

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