Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J’ai une demande d’un de mes services sur une requête, en effet ils ne veulent pas voir les antériorités sur un même exercice je m’explique :
Dans une de mes tables j’ai un lieu de stockage (LIEUST), un produit peut avoir deux lieux de stockage différents dans une même années et mes collègues veulent afficher seulement le dernier LIEUST (celui dans lequel le produit est présent lorsque je consulte la requête) et ceci est valable pour plusieurs autres champ.
Est-ce qu’il y a un set ana permettant d’afficher le dernier champs ? celui valable au moment du lancement de la requête ?
Par avance merci pour votre aide
Bien cordialement
Bonjour Romaric,
y a t'il dans ta table un champ date qui pourrait servir d'élément discriminant pour déterminer le dernier lieu de stockage ?
dans ce cas, dans le script il faudrait créer un champ "dernier_lieu" dans le style :
ma_table:
load *,
lieu as max_lieu //juste pour conserver le champ "lieu" : cette duplication servira à faire le script suivant...
from ma_source.xls;
load max_lieu,max(date) as maxdateparlieu
resident ma_table group_by max_lieu;
Ainsi, tu auras un champ qui identifie la dernière date par lieu : il te suffiras alors d'utiliser ce champ dans ton tableau pour afficher seulement le dernier lieu...
Cordialement,
Florent.
Bonjour,
Merci pour vos retours :
J'ai ces champs la dans ma table :
LOAD
UFMAG as UFMAG_LOT,
ARMOIRE as ARMOIRE_LOT,
CODPRO as @CLE_CODPRO_LOT,
LOT as LOT_LOT,
LOT as LOT_LOT_MAX,
DATPEREM as DATEPREM_LOT,
QTEENT as QTEENT_LOT,
QTESOR as QTESOR_LOT,
SERIENUM as SERIENUM_LOT,
DATCREA as DATCREA_LOT,
//DATCREA as DATCREA_LOT_MAX,
//EXERCREA as EXERCREA_LOT_MAX,
EXERCREA as EXERCREA_LOT
FROM
[..\ENTREPOT\HEXAGONE_CREA\HEPROLOT.qvd]
(qvd);
@CLE_CODPRO_LOT | LIBLONG | LOT_LOT | DATCREA_LOT | |
---|---|---|---|---|
S116015 | IMMUNO ANTI HB 100UI/1ML (TRACABILITE) | 10L02585 | 30/07/2010 00:00:00 | 26 |
10L04481 | 04/08/2010 00:00:00 | 26 | ||
10L10084 | 18/03/2011 00:00:00 | 26 | ||
11L00752 | 31/05/2011 00:00:00 | 26 | ||
12L01089 | 29/03/2012 00:00:00 | 26 | ||
12L03784 | 01/06/2012 00:00:00 | 26 | ||
12L09418 | 05/12/2012 00:00:00 | 26 | ||
13L01904 | 18/06/2013 00:00:00 | 26 | ||
13L02323 | 19/03/2013 00:00:00 | 26 | ||
13L11567 | 06/01/2014 00:00:00 | 26 | ||
14L04595 | 06/05/2014 00:00:00 | 26 | ||
15L00010 | 04/03/2015 00:00:00 | 26 | ||
15L05488 | 07/09/2015 00:00:00 | 26 |
Voici le résultat obtenus
Pour cet exemple je souhaiterai que la table ne me ressorte que l'enregistrement du 07/09/2015 (le dernier) quel script dois-je mettre en place ?
Merci
Cordialement
Romaric
ok, il te suffit d'adapter le script que je t'ai joins précédemment :
Ma_Table :
LOAD
UFMAG as UFMAG_LOT,
ARMOIRE as ARMOIRE_LOT,
CODPRO as @CLE_CODPRO_LOT,
LOT as LOT_LOT,
LOT as LOT_LOT_MAX,
DATPEREM as DATEPREM_LOT,
QTEENT as QTEENT_LOT,
QTESOR as QTESOR_LOT,
SERIENUM as SERIENUM_LOT,
DATCREA as DATCREA_LOT,
//DATCREA as DATCREA_LOT_MAX,
//EXERCREA as EXERCREA_LOT_MAX,
EXERCREA as EXERCREA_LOT
FROM
[..\ENTREPOT\HEXAGONE_CREA\HEPROLOT.qvd]
(qvd);
load LOT_LOT_MAX,max(DATCREA_LOT) as maxdateparlot
resident Ma_Table group_by LOT_LOT_MAX;
ça devrait marcher...
Florent
RESULT
SCRIPT
A:
LOAD @CLE_CODPRO_LOT,
LIBLONG,
LOT_LOT,
DATCREA_LOT,
F5
FROM
[https://community.qlik.com/thread/199053]
(html, codepage is 1252, embedded labels, table is @1);
Right Keep (A)
LOAD
@CLE_CODPRO_LOT,
LIBLONG,
// LOT_LOT,
Timestamp(max(DATCREA_LOT)) as DATCREA_LOT
Resident A
Group By
@CLE_CODPRO_LOT,
LIBLONG
// LOT_LOT
;
Bonjour Romaric,
Tu as pu trouver la solution ?
Bonjour Florent
Oui oui c'est bon
Merci
super !