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 :

sysfunc et affichage des valeurs numériques


Sujet :

Macro

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 24
    Points : 23
    Points
    23
    Par défaut sysfunc et affichage des valeurs numériques
    Bonjour,

    Quand j'execute mon code ce matin, il m'affiche l'erreur suivante. Or, mes variables calculées sont numériques et j'arrive à les visualiser. avant le code marchait et je n'ai jamais eu de soucis particulier.


    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %let ProdAnnuelle =%sysfunc(putn((&mvTotal1/&mvTotalCompteur1),NLNUM10.));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERROR: Argument 1 to function PUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is not a number.
    ERROR: Invalid arguments detected in %SYSCALL, %SYSFUNC, or %QSYSFUNC argument list.  Execution of %SYSCALL statement or %SYSFUNC or %QSYSFUNC function reference is terminated.

    Si quelqu'un pourrait m'expliquer pourquoi.
    je vous remercie.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 482
    Points : 1 547
    Points
    1 547
    Par défaut
    Bonjour,
    Essayes ta macro rectifié (j'ai enlevé les deux parenthèses à près PUTN).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %let ProdAnnuelle =%sysfunc(putn(&mvTotal1/&mvTotalCompteur1, NLNUM10.));
    Bon courage
    Ward

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    il y'a la même erreur qui s'affiche,

    j'ai essayé avec SYSEVAL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %let ProdAnnuelle =%sysevalf(&mvTotal1/&mvTotalCompteur1);
    et puis l'erreur est comme suit (même dans l'erreur les valeurs des variables sont bien affichées):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 2 712 842/     264

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 482
    Points : 1 547
    Points
    1 547
    Par défaut
    Je crois que l'erreur vient d'autre instruction car la macro que tu viens de citer est correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    %let mvTotal1=500 ;			  
    %let mvTotalCompteur1=50 ;		  
    %let ProdAnnuelle =%sysevalf(&mvTotal1/&mvTotalCompteur1);
    %put &ProdAnnuelle ;

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    En fait dans tout le programme tout se passe bien c'est qu'au niveau de ses instructions (sysfun et syseval) que ca genère une erreur.

    Je vais revoir mon code car tout mon travail est bloqué a cause de ca.
    Merciii pour ton aide,

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    Re,

    Le problème se posait au niveau des formats, le format de mes variavles était NLUM10. et je l'ai changé par COMMAFR10.

    Et le problème est résolu.

    Merci pour ton aide.
    Bonne fin de journée.

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

Discussions similaires

  1. Affichage des valeurs des variables avec tkprof
    Par hkhan13 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/07/2006, 11h59
  2. Meilleur type table pour stocker des valeurs numérique
    Par vodevil dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/04/2006, 20h42
  3. souci avec le format des valeurs numériques.
    Par LESOLEIL dans le forum Langage
    Réponses: 9
    Dernier message: 05/04/2006, 16h12
  4. Trier une colonne avec des valeurs numériques ou textes
    Par jfc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/02/2006, 11h15
  5. [xslt] filtrer des valeurs numériques
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 20/09/2005, 12h01

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