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

Macro Discussion :

Nombre de mots dans une macro-variable avec apostrophe


Sujet :

Macro

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Nombre de mots dans une macro-variable avec apostrophe
    Je dois générer une macro qui crée une table SAS contenant une variable( la valeur de cette variable est une chaine de caractères avec un apostrophe), puis enregistrer le nombre de mots contenu dans la chaîne dans une macro-variable


    Jai fais mon programme à l'aide d'une étape Data, et j'ai crée ma macro et ma macro-var mais j'arrive pas à récupérer le nombre exact de mots dans la chaîne de caractères.

    le problème est qu'il compte pas le (L'). Du coup au lieu d'avoir 6 mots, j'ai 5 mots

    Voici mon programme et son l’exécution !!!!!

    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
    327  %macro creetab2 (tab=,mot=);
    328  data &tab;
    329     mot="L'amour des chiffres sous sas";
    330
    331  run;
    332  %let chaine= %str(L%')amour des chiffres sous sas;
    333  %LET nb_motss= %sysfunc(countw(&chaine));
    334  %put le nombre de mots:&nb_motss;
    335  %mend;
     
    336  %creetab2(tab=test6,mot=);
     
    NOTE: The data set WORK.TEST6 has 1 observations and 1 variables.
    NOTE: L'étape DATA used (Total process time):
          real time           0.00 secondes
          cpu time            0.01 secondes

    le nombre de mots:5

    Merci d'avance !!!!

    le problème est qu'il compte pas le (L'). Du coup au lieu d'avoir 6 mots, j'ai 5 mots

  2. #2
    Membre régulier
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2013
    Messages : 27
    Points : 76
    Points
    76
    Par défaut
    Tu peux faire un tranwrd pour changer le ' en " " :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DATA test1;
    	mot="L'amour des chiffres sous sas";
    	mot1=tranwrd(mot, "'", " ");
    	nbmot=countw(mot1);
    run;

  3. #3
    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
    Si tu veux une solution "propre", tu peux aller regarder du côté des autres paramètres de la fonction countw

    La syntaxe est COUNTW(<string><, chars><, modifiers>)

    Tranwrd marche bien, mais tu vas peut etre te rendre compte que d'autres caractères doivent, ou non être comptés comme délimiteurs, les paramètres <char> et <modifiers> te permettront un contrôle plus efficace sur ta façon de compter.

    cf lien aide en ligne http://support.sas.com/documentation...a002977495.htm

Discussions similaires

  1. Protection mot réservé dans une macro variable
    Par ignoux dans le forum Macro
    Réponses: 2
    Dernier message: 19/03/2015, 11h52
  2. Nombre de caractères dans une macro variable
    Par Mamouthy dans le forum Macro
    Réponses: 1
    Dernier message: 14/04/2013, 11h34
  3. Nombre de mots dans une macro variable
    Par MEGAMIND2 dans le forum Macro
    Réponses: 2
    Dernier message: 10/01/2011, 19h59
  4. Sélection de mots dans une macro variable
    Par delph_le dans le forum Macro
    Réponses: 2
    Dernier message: 02/08/2010, 09h25
  5. Compter nombre de mots dans une chaîne.
    Par xVINCEx dans le forum C++
    Réponses: 22
    Dernier message: 24/11/2004, 13h33

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