Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
Bonjour,
Deux possibilités:
=Timestamp( Max(TOTAL <patient_id> version) )
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.
J'ai oublié de vous joindre la pièce jointe pour que vous puissiez mieux comprendre ma problématique.
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
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 ?
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
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.
Bonjour,
Deux possibilités:
=Timestamp( Max(TOTAL <patient_id> version) )
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.
Merci, ça fonctionne bien comme ceci !
Cordialement.