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

QlikView Discussion :

Chargement de la ligne avec la max date


Sujet :

QlikView

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Points : 43
    Points
    43
    Par défaut Chargement de la ligne avec la max date
    Bonjour à toutes et à tous,

    Je charge (mappe) à partir d'une table Magasin les libellés correspondants à mes codes dans ma table principale. Je veux rajouter une clause Max date pour les lignes récupérées !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MGTMP:
    LOAD COD_MG, LBL_MG
    FROM
    [ListeMG.txt]
    (txt, utf8, embedded labels, delimiter is '|', msq);
    WHERE (max(date(DATE_FIN)));
    J'utilise après MGTMP pour un mapping !

    Merci par avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Je ne comprends pas bien ce que tu veux.
    Je suppose que tu veux récupérer la date de fin max.
    Dans ce cas, il faudrait plutôt utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MGTMP:
    LOAD COD_MG, LBL_MG,max(Date(DATE_FIN)) as MAX_MG
    FROM[ListeMG.txt] (txt, utf8, embedded labels, delimiter IS '|', msq)
    group by COD_MG,LBL_MG;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Merci FORMULARY pour ta réponse.

    Mais je veux récupérer le COD_MG, LBL_MG qui ont la date maximum ! Et non pas la date elle même.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ID     COD_MG        LBL_MG               DATE_FIN
    1       001           Magasin001         12/12/2012
    2       001           NewMasin            31/12/2999
    Je veux récupérer la deuxième ligne !

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    La date maxi du fichier complet ?
    Regarde si ça te va :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TMP:
    Load * inline [Id, COD_MG, LBL_MG, DATE_FIN
    1, 001, Magasin 001, 12/12/2012
    2, 001, NewMag,      31/12/1999
    ];
     
    MGTMP:
    Load Max(Date(DATE_FIN)) as DateMax
    resident TMP;
    Left Join load DATE_FIN as DateMax, COD_MG, LBL_MG
    resident TMP;
     
    Drop table TMP;

  5. #5
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Je pense que ce qu'il veut dire, c'est que pour chaque COD_MG, il souhaite récupérer le dernier libellé, c'est a dire le libellé pour lequel la date est la plus grande.

    Pour cela, il faut :
    - récupérer la date max pour chaque code
    - ne charger dans la table de mapping que les lignes dont la date est la date max


    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
     
    TMP:
    LOAD * inline [Id, COD_MG, LBL_MG, DATE_FIN
    1, 001, Magasin 001, 12/12/2012
    2, 001, NewMag, 31/12/2999
    ];
     
    LEFT JOIN (TMP)
    LOAD 
    	COD_MG,
    	max(DATE_FIN) AS MAX_DATE
    RESIDENT TMP
    GROUP BY COD_MG;
     
     
    Mapping_Lib:
    MAPPING LOAD COD_MG, LBL_MG
    RESIDENT TMP
    WHERE DATE_FIN = MAX_DATE;
     
    DROP TABLE TMP;

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Merci les gars mais c'st ce que j'ai fait !

    J'ai chargé les dates et après mapper la ligne correspondante à la date la plus grande

  7. #7
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par gaxpery Voir le message
    Merci les gars mais c'st ce que j'ai fait !
    Et donc ça correspond à ce que vous cherchiez ou pas ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Et donc ça correspond à ce que vous cherchiez ou pas ?
    Oui, même si je n'ai pas testé. Il me semble que c'est semblable à ce que j'ai fait

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

Discussions similaires

  1. [Vxi3] Selection de row avec un max(date)
    Par jimtusa dans le forum Webi
    Réponses: 4
    Dernier message: 17/12/2016, 12h38
  2. Selectionner une ligne avec un max sur plusieurs critères
    Par achestyx dans le forum Développement
    Réponses: 2
    Dernier message: 31/03/2011, 10h53
  3. Réponses: 1
    Dernier message: 23/11/2007, 14h11
  4. Select Avec Max(date)
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/08/2006, 17h26
  5. récupération d'une ligne avec un select MAX(champ1)
    Par rdams dans le forum Requêtes
    Réponses: 8
    Dernier message: 03/07/2006, 10h33

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