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 :

Test sur des dates - récupérer le mois précédent d'une date donnée :%sysfunc( intnx())


Sujet :

Macro

  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 244
    Points : 200
    Points
    200
    Par défaut Test sur des dates - récupérer le mois précédent d'une date donnée :%sysfunc( intnx())
    Bonjour,

    J'effectue actuellement différents test sur des dates (en Julian Date).

    J'ai un soucis pour récupérer le mois précédent de la date donnée.
    Cette ligne pose problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /* &date_conv contient une date au format SAS [18913]*/
    %let lastmonth=%sysfunc(intnx("MONTH",&date_conv, -1));
    SAS me donne l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WARNING: An argument to the function INTNX referenced by the %SYSFUNC or %QSYSFUNC macro function
             is out of range.
    NOTE: Mathematical operations could not be performed during %SYSFUNC function execution. The
          result of the operations have been set to a missing value.
    Pourriez-vous m'aider?

    Ci-dessous le code de test que j'utilise:
    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
    %macro jd;
     
    		%let julian=%sysfunc(juldate7("13oct2011"d));
    		%put julian date is: &julian;
     
    		%let mydate=2011286;
    		%put my date is : &mydate;
    		%let date_conv = %sysfunc(datejul(&mydate));
    		%put my date into SAS format is : &date_conv;
    		%let daily_file = %substr(&mydate,4);
    		%put Daily file number is : &daily_file;
    		%let month = %sysfunc(month(&date_conv));
            %put month is : &month;
    		%let day = %sysfunc(day(&date_conv));
            %put day is : &day;
    		%let lastmonth=%sysfunc(intnx("MONTH",&date_conv, -1));
    		%put previous month was : &lastmonth;
     
    %mend;
    %jd
    Merci déjà pour votre aide...

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Et oui

    %let lastmonth=%sysfunc(intnx(MONTH,&date_conv, -1));

    Pas de quotes ...

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 244
    Points : 200
    Points
    200
    Par défaut


    Merci datametric!

    C'est une règle générale? avec %sysfunc(), on doit retirer les quotes des paramètres qui en ont?

  4. #4
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    je ne suis pas certain pas mais il me semble.

  5. #5
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 244
    Points : 200
    Points
    200
    Par défaut
    Merci en tout cas

  6. #6
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Je ne suis pas sûr que ce soit une règle générale. Je crois être tombé une fois sur un contre-exemple mais je ne me souviens plus quelle était la fonction (un PRX quelque chose peut-être ?).

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/03/2012, 13h47
  2. le mois précédent d'une date
    Par enstein8 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/09/2011, 22h34
  3. Retourner une date avec le mois précédent
    Par labolabs dans le forum PL/SQL
    Réponses: 2
    Dernier message: 28/12/2009, 10h04
  4. Récupérer le mois à partir d'une date
    Par dessinateurttuyen dans le forum Débuter
    Réponses: 5
    Dernier message: 01/03/2008, 12h10
  5. Problèmes Test sur des dates
    Par guigui11 dans le forum ASP
    Réponses: 1
    Dernier message: 11/12/2006, 16h18

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