Qlik Community

Groupe des Utilisateurs Francophones

Announcements
Now Live: Qlik Sense SaaS Simplified Authoring – Analytics Creation for Everyone: READ DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
nathroche
Contributor III
Contributor III

décompte sous condition

     Bonjour,

Je cherche à afficher la proportion de patients hospitalisés un certain nombre de jours.

Pour cela, j'utilise la formule:

count(distinct (if(sum(J)>=292, IPP)))/count(distinct IPP)

seulement elle me retourne une erreur (graphique jauge)

Avez-vous une idée?

Merci!

Nathalie

1 Solution

Accepted Solutions
flochi75
Creator III
Creator III

Alors J=Nb de jours de présence par séquence

dans ce cas, sans dimension, ta formule jauge ne peut pas fonctionner à mon avis. il faut faire une agrégation de la somme des jours par séjour et par patient si tu veux utiliser J, du genre :

count(distinct if(aggr(sum(J)>292,NO_SEJOUR),IPP))/count(DISTINCT IPP)


Mais, si tu filtres par année, il y a un risque que J ne concerne QUE les séquences de l'année (suivant ton modèle de données), or il peut exister des patients qui sont hospitalisés à cheval sur au moins 2 années...

C'est pour ça que je pense qu'il est mieux de recalculer un nombre de jour par date d'entrée et date de sortie, comme je te le propose plus haut...et de le faire dans le script, car affranchi des filtres des dates...

Florent.

View solution in original post

16 Replies
flochi75
Creator III
Creator III

Bonjour Nathalie,

qu'est-ce que J dans ton modèle ? la durée du séjour ?

si oui , pas la peine de mettre sum() je pense...

pour ma part, j'ai fais le test avec cette formule :

count(distinct if(Date_Sortie_UF- Date_Entrée_UF>1,NroSejRSS))/count(DISTINCT nrosej)

et, sans dimension, j'obtiens :

Capture.PNG

...

Florent.

nicolas66
Contributor III
Contributor III

Bonjour Nathalie,

Ca sent le RIMP....

Suggestion:

- créer un champ dans le script en utilisant la condition: if(Sum(J)>292,1,0) as PatientLongSéjour

- dans la jauge, utiliser un set analysis: Count({$<PatientLongSéjour={1}> Distinct IPP)/Count(Distinct IPP)).

Normalement, ça devrait fonctionner...

Philippe.

nathroche
Contributor III
Contributor III
Author

Bonjour Florent,

J'ai essayé:

=count(distinct (if(J>=292, IPP)))/count(distinct IPP)

Mais il me renvoie une valeur vide (je devrai trouver presque 4%)

Capture.PNG

Nathalie

nathroche
Contributor III
Contributor III
Author

Bonjour Philippe,

quand je vais dans le script, il y a un message d'erreur lors du chargement:

Capture.PNG

Nathalie

nicolas66
Contributor III
Contributor III

... alors là !?!?

votre chargement fonctionne et c'est lorsque vous créez un champ dans le script que vous avez ce message ?( c'est un message d'erreur ODBC).

ps: la seule solution, c'est de faire sortir tous ces patients long cours ....

Philippe

flochi75
Creator III
Creator III

Bonjour Nathalie,

regarde ce que te propose Philippe, car il connait le logiciel que tu utilises, moi pas...

Je ne sais pas ce qu'est "J", une durée de séjour ? un champ que tu calcules ?

je ne sais pas pourquoi "sum" ...

Dans mon modèle de données, je fabrique un champ "durée de séjour" ainsi :

Capture.PNG

comme ça, j'ai les patients sortis ET les patients présents.

ensuite, pour avoir le nb de patient Hospi depuis plus d'1 an (c'est la demande chez moi) :

Capture2.PNG

(j'enlève l'UF AFT,mais on n'est pas obligé...)

Florent.

nathroche
Contributor III
Contributor III
Author

Bonjour,

Dans une des bases du logiciel, la durée de séjour est déjà calculée: c'est la variable J

Je fais une somme pour avoir la durée totale, notamment s'il y a des mutations au cours du séjour.

Merci,

Nathalie

nathroche
Contributor III
Contributor III
Author

Oui, lorsque je rajoute le "sum", il n'aime pas du tout...

Du coup, j'ai fais ça:

Capture.PNG

Mais c'est moins joli, et il n'y pas l'affichage de la proportion. En plus c'est un peu du bricolage...!

Nathalie

flochi75
Creator III
Creator III

Je ne comprends pas, la durée de séjour n'est pas la durée d'1 mouvement d'une UF, c'est la différence entre la date d'entrée et la date de sortie...

Si J est la durée du séjour, alors

count(distinct(if(J>=292, IPP)))/count(distinct IPP)

devrait fonctionner...

Mais pour moi il n'est pas calculé pour les patients présents...

tu as essayé comme moi ?

___________________________________________________________________________________________________

Dans mon modèle de données, je fabrique un champ "durée de séjour" ainsi :

Capture.PNG

comme ça, j'ai les patients sortis ET les patients présents.

ensuite, pour avoir le nb de patient Hospi depuis plus d'1 an (c'est la demande chez moi) :

Capture2.PNG

___________________________________________________________________________________________________

Florent