
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Filtrer sur date plus récente
Bonjour à tous,
Je suis confrontée à une problématique car je dispose d'une base de données où une fiche patient (patient_id) peut avoir plusieurs versions (version) comme vous le constaterez dans la pièce jointe du fait qu'un utilisateur peut rééditer une fois la fiche patient afin de compléter certaines données qu'il aurait omis d'indiquer. Or, je souhaite réaliser mes analyses uniquement sur la dernière version de la fiche patient. J'ai essayé d'utiliser : version = {$(=max(version)} dans mon expression mais sans résultat car plus rien ne s'affiche dans le tableau. Comment pourrais-je procéder ?
Merci par avance de votre retour.
- Tags:
- Group_Discussions
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour,
Deux possibilités:
- En visualisation : En chargeant toutes les données et en utilisant dans un objet type table l'expression suivante :
=Timestamp( Max(TOTAL <patient_id> version) )
- Depuis le script: Ne charger que les données associées aux fiches les plus récentes:
Caracteristiques:
LOAD DISTINCT
[nom_smur],
[patient_id],
[profil_type],
[Fiche SMUR]
FROM [lib://Downloads/dernière version base de données.xls]
(biff, embedded labels, table is Sheet1$);
Version_fiche:
LOAD
[patient_id],
Timestamp(Max([version])) AS Version_recente
FROM [lib://Downloads/dernière version base de données.xls]
(biff, embedded labels, table is Sheet1$)
GROUP BY [patient_id]
;
cordialement.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
J'ai oublié de vous joindre la pièce jointe pour que vous puissiez mieux comprendre ma problématique.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour
Si version est une dimension
if(version=max(version),version)
En mesure dans un set analysis si l'expression version = {$(=max(version)} ne marche pas alors c'est peut être un format.
En effet je vois que la date est un timestamp

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Effectivement, le format est un timestamp mais même en mettant timestamp(max(version)) cela ne fonctionne pas non plus. Un informaticien m'a préconisé d'utiliser Firstvalue dans le script dans un LOAD avec Order by et Group by sans plus d'explications par manque de temps mais je n'ai pas d'idée de comment rédiger ce programme dans le script. Auriez-vous une idée ?


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour
Déja j'ai reamrque dans ton screen shot que tu as deux format de time stamp
Lorsqu'il y a deux date pour un mpeme patient le format est
2019-07-22 09:55:04 et il est justifié à droite dans la colonne ( considéré comme un nombre)
Alors que les autres ont un format 2019-04-26_09:40:38 ( il y a un underscore entre la date et l'heure ; et il est justifié à gauche dans la colonne : considéré comme du texte)
Si tu as bien ces deux formats il faut les formater pour en avoir qu'un :
dual(
timestamp(timestamp(version,'YYYY-MM-DD_hh:mm:ss'),''YYYY-MM-DD hh:mm:ss'),
timestamp(timestamp(version,'YYYY-MM-DD hh:mm:ss'),''YYYY-MM-DD hh:mm:ss')) as version
Si tu peux uploader un fichier exemple avec quelques donnée en .xls je regarderai

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour,
Merci pour votre retour. Effectivement, comme nous sommes en pré-production de la base de données, les formats ne sont pas uniformisés mais nous n'aurons pas ce problème en production. Je vous mets en pièce jointe quelques lignes de la base dans un .xls . L'idée serait tout simplement de garder les lignes où les fiches patient n'ont qu'une version ainsi que les lignes de la deuxième version des fiches patients, les premières versions étant incomplètes, cela ne nous intéresse pas de les analyser. Merci par avance de votre contribution, cela nous serait d'une grande aide.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bonjour,
Deux possibilités:
- En visualisation : En chargeant toutes les données et en utilisant dans un objet type table l'expression suivante :
=Timestamp( Max(TOTAL <patient_id> version) )
- Depuis le script: Ne charger que les données associées aux fiches les plus récentes:
Caracteristiques:
LOAD DISTINCT
[nom_smur],
[patient_id],
[profil_type],
[Fiche SMUR]
FROM [lib://Downloads/dernière version base de données.xls]
(biff, embedded labels, table is Sheet1$);
Version_fiche:
LOAD
[patient_id],
Timestamp(Max([version])) AS Version_recente
FROM [lib://Downloads/dernière version base de données.xls]
(biff, embedded labels, table is Sheet1$)
GROUP BY [patient_id]
;
cordialement.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Merci, ça fonctionne bien comme ceci !
Cordialement.
