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

Macro Discussion :

Macro sas sur texte


Sujet :

Macro

  1. #1
    Nouveau Candidat au Club
    Macro sas sur texte
    bonjour je cherche à executer le code ci-dessous mais sous forme de macro fonction pour pouvoir changer librement le mot recherché

    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
    data lib.nouvellematable; 
     
    set lib.matable;
     
    helper =  index(com, lowcase("mots_recherché")); /*retourne la position du mot rechercher dans la phrase*/
     
    com_mot =  substr(com, helper, 500); /* soustraction de tte la chaine de char après le mot rechercher) */
     
    drop helper; 
     
    run; 
     
    proc sql; 
     
    select count(com_mot)
     
    from lib.manouvelletable; 
     
    quit;


    Merci d'avance.

  2. #2
    Membre confirmé
    Bonjour,

    Pas certain d'avoir bien saisie ce que tu cherches à faire mais voici un essai :

    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
    %macro recherche(Word);
    	data lib.nouvellematable;  
    	set lib.matable; 
    	com_mot =  substr(com, index(com, lowcase("&Word."))); /* soustraction de tte la chaine de char après le mot rechercher) */
    	run; 
     
    	Title "Mot recherché : &Word";
    	proc sql; 
    	select count(com_mot)
    	from lib.manouvelletable; 
    	quit;
    	Title;
    %Mend;
     
    %Recherche("Mot1"); /* Je cherche le mot "Mot1" */
    %Recherche("Mot recherché"); /* Je cherche le mot "Mot recherché" */
    %Recherche("Test");/* etc...*/
    %Recherche("Mot2");
    %Recherche("Mot 3");



    Flo00154

  3. #3
    Nouveau Candidat au Club
    Merci ça marche super, est ce que vous auriez une solution pour inclure le "word" dans la nouvelle table pour que sont nom soit Lib.nouvelletable_WORD quand j'essaye de l'inclure cela me retourne une erreur.

  4. #4
    Membre confirmé
    Oui en faisant ceci :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    %macro recherche(Word);
    	data lib.nouvellematable_&Word.;  
    	set lib.matable; 
    	com_mot =  substr(com, index(com, lowcase("&Word."))); /* soustraction de tte la chaine de char après le mot rechercher) */
    	run; 
     
    	Title "Mot recherché : &Word";
    	proc sql; 
    	select count(com_mot)
    	from lib.manouvelletable; 
    	quit;
    	Title;
    %Mend;


    Attention le "Word" en question ne doit pas contenir d'accents ou de caractères spéciaux sinon il y aura un message d'erreur. Il faudra les retraités si c'est le cas.

    Flo00154

###raw>template_hook.ano_emploi###