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 :

Utilisation fonction MIN (SQL) sur les dates


Sujet :

SAS Base

  1. #1
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut Utilisation fonction MIN (SQL) sur les dates
    Bonjour,
    J'ai deux tables avec une relation un à plusieurs entre la table baseD et la table temp. Je voudrais pour chaque personne de la table baseD obtenir la date minimum de la table temp (car plusieurs date dans la table temp pour une seule et même personne).
    J'ai jusqu'à présent fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DATA temp;
    SET base;
    date2=input(Date1,ddmmyy10.);
    /*date1 initialement texte est transformée en date =>date2*/
    RUN;
    PROC SQL;
    /*je vais chercher le min de la date2 dans temp*/
    CREATE TABLE tempP as 
    SELECT DISTINCT baseDuree1.id, baseD.dateE,baseD.dateF,min(temp.date2) AS Date3
    FROM baseD LEFT JOIN temp ON baseD.id = temp.id;
    RUN;
    QUIT;
    J'obtiens la log suivante, un peu étrange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NOTE: La requête nécessite que les statistiques descriptives soient
          refusionnées avec les données originales.
    NOTE: La table WORK.TEMPPART_K a été créée, avec 2071 lignes et 4 col.
    Si vous avez des idées, je suis preneur!

  2. #2
    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
    Fabrice, ne te manquerait-il pas un GROUP BY dans cette requête ??? Genre sur id ?

  3. #3
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    je pensais que le DISTINCT fonctionnait de la même manière!!

  4. #4
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Une chose étrange tout de même :
    J'ai 2071 lignes dans ma table principale :
    Le group by me fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NOTE: La requête nécessite que les statistiques descriptives soient
          refusionnées avec les données originales.
    NOTE: La table WORK.TEMPPART_K a été créée, avec 2102 lignes et 4 col.
    Donc doublon mais avec les dates valident
    Le DISTINCT me fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NOTE: La requête nécessite que les statistiques descriptives soient
          refusionnées avec les données originales.
    NOTE: La table WORK.TEMPPART_K a été créée, avec 2071 lignes et 4 col.
    Pas de doublon mais date bonnes
    Le DISTINCT et GROUP BY :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NOTE: La requête nécessite que les statistiques descriptives soient
          refusionnées avec les données originales.
    NOTE: La table WORK.TEMPPART_K a été créée, avec 2071 lignes et 4 col.
    La solution voulue!!!

  5. #5
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    le group by tu le fais sur quelle variable je peux voir le code?

  6. #6
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Une coquille de ma part .... j'ai oublié une variable dans mon GROUP BY
    Merci

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

Discussions similaires

  1. [T-SQL]jours ouvrés: operation sur les dates
    Par agougeon dans le forum Sybase
    Réponses: 5
    Dernier message: 24/01/2011, 14h36
  2. Requette SQL sur les dates
    Par willfox dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/02/2008, 17h04
  3. fonctions sur les dates : nb.jours.ouvres
    Par overider dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 06/09/2007, 15h02
  4. Fonctions sur les dates
    Par Neuromancien2 dans le forum Oracle
    Réponses: 4
    Dernier message: 12/10/2005, 10h13

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