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 :

Modifier des format caractère sous sas


Sujet :

SAS Base

  1. #1
    Nouveau membre du Club
    Modifier des format caractère sous sas
    Bonjour;

    j'ai un petit souci: j'ai une variable code en format caractère: AX-455-TB, j'aimerais avec une fonction transformer l'ensemble des modalités de la variable code ainsi : AX455TB donc enlever à chaque fois les caractères spéciaux (tiré, /, etc...).


    Un grand merci

  2. #2
    Membre éprouvé
    Bonjour,

    Je te propose cette solution:
    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
    DATA test(drop=i string2);
    INPUT string $ 1-28;
    length string1 $20.;
    string1='';
    retain string1;
    do i =1 to length(string);
    string2=prxmatch("/[a-zA-Z0-9]/",char(string,i));
    if string2>0 then string1=catt(string1,char(string,i)); 
    end;
    CARDS;
    ACBED
    11
    12
    zx
    11 2c
    abc123
    ùlosnàçèz12
    hdyuUUZED-TDVèHDG-
    AX-455-TB
    $ldkd'"éà:*ùse15&²f
    ;
    run;

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

  3. #3
    Nouveau membre du Club
    Elle marche. Un grand merci.

    Brahim j’ai une dernière question sur un merge. J’ai deux base À Et B. La base case A contient 36000 observations et la base B 8000. Je fais un merge entre les deux avec une condition if à.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Data toto;
    Merge A(in=a) B(in=b);
    By num_ctr id cco; 
    If a ;
    Run;

    La table toto contient plus d’observation que la table A donc j’ai sans doute des doublons. Comment pourrais-je les identifier?
    Merci

  4. #4
    Membre éprouvé
    Bonjour,

    je ne saurai te dire d'où viens le problème:

    voici un exemple

    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
     
    data test;
    input var1 var2 var3 var4 $;
    cards;
    1 2 3 A
    1 2 3 A
    1 2 3 B
    ; run;
     
    data test1;
    input var1 var2 var3;
    cards;
    1 2 3
    ; run;
     
    data test2;
    merge test(in=a) test1(in=b);
    by var1 var2 var3;
    if a;
    run;

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

###raw>template_hook.ano_emploi###