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

SAS Base Discussion :

Date en format numérique


Sujet :

SAS Base

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Décembre 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2014
    Messages : 84
    Points : 74
    Points
    74
    Par défaut Date en format numérique
    Bonjour,

    J'ai une variable numérique (c'est une date ) au format ex: 120170300
    1:le premier du mois
    2017:l'année
    03:le mois
    00 à la fin : aucune signification ==> à supprimer.

    Je souhaite récupérer que les lignes avec MONTH actuel (-2) et (-1) de l'année en cours en paramètre car c'est un traitement à automatiser.
    autrement >=120170500 (01/05/2017)


    Merci pour votre aide

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Date en format numérique
    Bonjour,

    Je ne comprends pas très bien votre question mais voici une proposition pour reconstituer une date au format date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    data base;
      input date_num;
      cards;
      120170300
      ;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    data base;
      set base;
      length date_texte $10.;
      date_texte = put(date_num,z10.);
      m = substr(date_texte,1,2);
      a = substr(date_texte,3,4);
      j = substr(date_texte,7,2);
      date_date = mdy(m,j,a);
      format date_date ddmmyy10.;
    run;
    Cordialement,

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Décembre 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2014
    Messages : 84
    Points : 74
    Points
    74
    Par défaut
    Merci pour ta réponse.
    Je ne comprends pas pourquoi il me sort cette erreur avec ton code aussi avec mon code que j'ai utilisé.

    Mon pgm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    options compress=yes;
    data teste;
     
    set matablesource(where=(
    (input(substr(compress(put(varnum,30.)),6,2),2.))>=(month("&sysdate"d)-2) and
    (input(substr(compress(put(varnum,30.)),2,4),4.))=(year(today()))
    ));run;

    Erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ERROR: CLI cursor extended fetch error: Communication link failure
    NOTE: The DATA step has been abnormally terminated.
    NOTE: The SAS System stopped processing this step because of errors.
    NOTE: SAS set option OBS=0 and will continue to check statements. This might cause NOTE: No observations in data set.
    NOTE: There were 107648862 observations read from the data set MATABLESOURCE.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut probleme de date lors de l'importation de données excel sur sas
    Bonjour,
    je suis nouvelle dans le forum j'espère que vous pourrez m'aider.

    En fait, lorsque j'importe ma base de données excel sur sas : le format date ( ex : 01/01/2017) n'est pas pris en compte:j'obtiens pour certaines date des nombres : exemple j'obtiens 42309 à la place de 01/11/2015) et pour d'autres cas la date est bien prise en compte.
    Du coup pour résumer je me retrouve dans la colonne date_appel avec des nombres et avec des dates !!!


    jai donc parcouru les forums et qqn a conseille dutiliser SAS enterprise guide 7.2, ce que j'ai fait en convertissant lors de l'importation des données toutes les donnees en nombres pour pouvoir convertir ensuite en date par code. C'est ce que j'ai fait. j'obtiens bien que des nombre dans la colonne date_appel mais le code :
    Data BDD_2017;
    format date_appel DATE9.;
    run;


    pour convertir les nombres en date ne focntionne pas ( sur sas enterprise guide !!!!!!!!!!!!!!!!!!)


    Si qqn pouvait m'aider ce serait parfait, cela fait 4 jours que je bloque sur ce probleme

    d'avance emrci pour votre aide

    cordialement,
    123lilas123

Discussions similaires

  1. Format Date ( texte vers numérique)
    Par mano_bi dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 30/05/2014, 14h53
  2. Réponses: 6
    Dernier message: 24/07/2010, 14h47
  3. Format numérique et date
    Par cuterate dans le forum Access
    Réponses: 7
    Dernier message: 24/03/2008, 00h33
  4. importation date sous format numérique
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2007, 19h13
  5. Convertir une date au format excel en datetime SQL server
    Par ALLB dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/07/2004, 12h28

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