|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() julien quetel Inscription : juillet 2010 Messages : 91 ![]() |
le probleme me semble assez simple pourtant je bloque dessus depuis ce matin...
j'ai une base en ligne a chaque fois qu'un patient passe dans mon hopital ca créé une ligne. Voila je veux savoir sur 1 année glissante, les patients qui ont perdu plus de 3 points à un test. Le probleme etant que je peux avoir plusieurs valeurs sur une année... Afin de simplifier les choses je me suis dit il me suffit de tester toutes les combinaisons (oui je sais pas tres propre) Mais meme la dessus je bloque, voila le code que j'ai fait, le probleme etant qu'a premiere vu il ecrase le resultat precedent a chaque fois au lieu de me rajouter une ligne... Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 957 ![]() |
Bonjour,
Si tu veux qu'on te vienne en aide, le mieux serait de dire ce que tu souhaitse obtenir, en occurrence sur une table. |
|
|
00
|
|
|
#3 | ||
|
Futur Membre du Club
![]() julien quetel Inscription : juillet 2010 Messages : 91 ![]() |
oui désolé.
Je veux une liste de mes identifiants patients, pour qui la duree entre deux visite est inferieure a 365 jours, et pour qui la valeure au test a diminué de trois ou plus. La je suis entrain d'essayer en passant par sql avec une proc insert a la place de mon output. Mais ca ne marche pas plus, je comprends pas trop pourquoi... Code :
|
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour Julien.
Le but premier du macro langage c'est de paramétrer, pas de remplacer toutes les boucles ! Dans ce que je comprends de ton problème, il n'y a pas forcément besoin de macros. Surtout de comparer les lignes de différents patients. Pour faire ça, il y a l'étape DATA, avec les blocs BY et les variables protégées par RETAIN. Il y a aussi la solution de faire des proc TRANSPOSE (une pour les dates d'hospitalisation et une pour les scores, puis une jointure ; c'est plus simple à coder comme ça) puis de boucler sur tes variables avec un array et une boucle de l'étape DATA. Bref, tout ça pour dire que les macros ne m'ont pas l'air de s'imposer dans ton cas. Bon courage, et si tu nous proposes un jeu d'essai, je pense qu'on pourra te donner des pistes plus concrètes. Olivier |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() julien quetel Inscription : juillet 2010 Messages : 91 ![]() |
bon tout d'abord merci a vous deux pour vos pistes, j'avoue que je ne connais pas du tout les array je vais donc m'orienter vers ca dans mes recherches.
Voici un exemple de données patientid_________MMSE________dcldateacte patient1___________25___________11Nov2008 patient1___________24___________17juin2009 patient1___________21___________18jan2010 patient2.......... dans ce cas je veux avoir dans une table le patient1, parce que entre sa visite 1 et 2 la difference de score n'est pas bonne, entre 1 et 3 l'ecart est trop important, mais entre 2 et 3 tout est bon. |
|
|
00
|
|
|
#6 | |||
|
Membre éclairé
![]() statisticien Inscription : mai 2011 Messages : 212 ![]() |
Bonjour,
je pense qu'il faudrait que tu précise encore un peu ce que tu veux vraiment faire... Citation:
Tu as plusieurs choix possible, dont par exemple
Pourrais tu nous préciser plus exactement ta sélection ? Citation:
Citation:
Je suppose que tu voulais dire perdu "AU MOINS 3 PTS" ou "3PTS ET PLUS" car "PLUS DE 3 PTS" ça ne correspond pas à un test avec > ou égal mais avec un > strict Enfin sur le fond du programme selon ce que tu veux faire, je pense qu'un RETAIN devrait pouvoir faire les choses simplement une fois bien définie le concept "d'année glissante" enfin plutôt sa date de référence comme je te l'ai demandé au dessus. |
|||
|
|
20
|
|
|
#7 |
|
Futur Membre du Club
![]() julien quetel Inscription : juillet 2010 Messages : 91 ![]() |
je n'ai pas de periode definie, j'ai une base qui concerne plusieurs année, et je veux connaitre tous les patients qui ont perdu au moins 3 points sur moins d'un an, quelque soit l'année. le probleme etant que si j'ai 3 consultation dans mes 1 an, je dois toutes les comparer pour etre sure.
En fait je cherche tous les patients qui ont eu une perte rapide a leur score. |
|
|
00
|
|
|
#8 | ||
|
Membre éclairé
![]() statisticien Inscription : mai 2011 Messages : 212 ![]() |
Ok,
Un truc qui va marcher sans être optimal c'est de réaliser un produit cartésien de la table par elle-même... avec un truc du genre.... Je n'ai pas essayé si ça marchait mais ça devrait s'écrire plus ou moins comme ceci... Code :
|
||
|
|
20
|
|
|
#9 |
|
Futur Membre du Club
![]() julien quetel Inscription : juillet 2010 Messages : 91 ![]() |
merci beaucoup pour ton aide c'est vraiment super en plus avec une vitesse d'execution incroyable.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com