1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : novembre 2017
    Messages : 9
    Points : 9
    Points
    9

    Par défaut Macro affichage de valeurs

    Bonjour,

    je voudrais créer une macro fonction appelée ma_macro, qui afficherait les informations suivantes :
    nom_client,ancienneté, catégorie, statut seulement si le client est un bon payeur ("good" dans ma variable "score"), sinon, je voudrais voir apparaître "mauvais payeur".
    le data set se nomme data_client.

    le paramètre de ma_macro devra être le nom_client.

    Voilà ce que je fais, mais cela ne fonctionne pas ( je sais cela doit être truffé d'erreurs c'est ma première):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    %macro ma_macro;
    %if &score.="good" %then %do;
    proc print data = &data_client. (nom_client,anciennete ,catégorie,statut);
    run;
    %end
    %else %do;
    proc print data= "mauvais payeur";
    run;
    %end;
    %mend evaluation
    merci pour votre aide.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : novembre 2017
    Messages : 9
    Points : 9
    Points
    9

    Par défaut

    Pas de réponse ? Est-ce que mon message manque de clarté ? il me ferait plaisir de le refaire si c'est le cas.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2017
    Messages : 13
    Points : 21
    Points
    21

    Par défaut

    Je ne vois pas bien l'intérêt d'utiliser le macro-langage pour votre cas. Pourquoi ne pas simplement utiliser un datastep ou une proc sql?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    février 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 117
    Points : 105
    Points
    105

    Par défaut

    Bonjour,
    Citation Envoyé par JQuem Voir le message
    Je ne vois pas bien l'intérêt d'utiliser le macro-langage pour votre cas. Pourquoi ne pas simplement utiliser un datastep ou une proc sql?
    Tout à fait d'accord ! L'usage d'une macro ne s'impose pas ici, a priori.
    Voici un code qui fait ce que vous cherchez : le calcul du message à afficher se fait à l'intérieur d'une étape data
    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
     
    data table_clients;
    	nom_client = "Dudule";
    	anciennete = 6 ;
    	categorie = "cat. A";
    	statut = "statut B";
    	score = "good";
    	output;
    	nom_client = "Martin";
    	anciennete = 4 ;
    	categorie = "cat. X";
    	statut = "statut Y";
    	score = "bad";
    	output;
    run;
    proc print data = table_clients;title Table initiale;run;
    data table_clients;
    	/*length a_ecrire $ 200 ;*/
    	set table_clients;
    	if score = "good" then a_ecrire = nom_client !! " : " !! anciennete !!  " " !! categorie !!  " " !! statut ;
    	else a_ecrire = nom_client !! " : " !! "Mauvais payeur";
    run;
    proc print data = table_clients noobs;var a_ecrire;title Résultat final;run;
    title; /* pour supprimer les titres */

Discussions similaires

  1. [XL-2007] Problème de macro affichage de valeurs dans userforms
    Par caro33700 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/09/2016, 08h38
  2. Macro - Ecrire des valeurs dans une table
    Par gojaru dans le forum Access
    Réponses: 2
    Dernier message: 17/08/2006, 14h54
  3. Affichage des valeurs des variables avec tkprof
    Par hkhan13 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/07/2006, 12h59
  4. Affichage de valeurs par selection dans une table
    Par Flushovsky dans le forum PHP & MySQL
    Réponses: 9
    Dernier message: 16/12/2005, 18h04
  5. affichage selon valeur entiere ou decimale
    Par Ankya dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 04/05/2005, 11h36

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