Qlik Community

Ask a Question

Groupe des Utilisateurs Francophones

Announcements
Support Cases coming to Qlik Community Oct. 4! Start chats, open cases, explore resources. READ DETAILS>
cancel
Showing results for 
Search instead for 
Did you mean: 
flochi75
Creator III
Creator III

syntaxe set analysis résultat incohérent

Bonjour, j'essaie de calculer et suivre nn taux de dossiers (NUMAHO) pour lesquels le champ CODE_MEDTT est exclusivement à "Absent". En effet, pour certains NUMAHO, ils peuvent contenir "Absent", puis un code numérique :Capture.JPG

 

J'ai donc utilisé cette expression : 

count(distinct{<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))},AGE={">16"},NUMAHO ={"=only(CODE_MEDTT)='Absent"}>} NUMAHO)
/
count(distinct{<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))},AGE={">16"}>} NUMAHO)

 

Cela semble fonctionner, mais les résultats pour l'année en cours semblent  aberrants comparés aux autres années et surtout, ils changent si on sélectionne une autre année :

Capture2.JPG

Capture3.JPG

Merci pour votre aide

Florent

1 Solution

Accepted Solutions
flochi75
Creator III
Creator III
Author

Du coup, je l'ai fait en script de chargement :

 

TABLE_FIN:
load*,
if(len(TRAISJR)=0, 'Absent',TRAISJR) as CODE_MEDTT,
age(DATEHO,DATNH01) as AGE
Resident DOSS_CPAGE;

drop table DOSS_CPAGE;

load IPPK,
if(only(CODE_MEDTT)='Absent',1,0) as FlagMTT
resident TABLE_FIN group by IPPK;

 

et en expression : 

count(distinct{<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))},AGE={">16"},FlagMTT ={"1"}>} NUMAHO)
/
count(distinct{<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))},AGE={">16"}>} NUMAHO)

 

ça semble marcher..

 

merci.

View solution in original post

4 Replies
sfatoux72
Partner
Partner

C’est normal, ton expression Only() ne tiens pas compte de l’année et de l’âge , il faut la modifier comme ceci :
... NUMAHO ={"=only({<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))}, AGE={">16"}>} CODE_MEDTT)='Absent"} ...
flochi75
Creator III
Creator III
Author

Bonjour Sébastien,

en laissant la 1ère partie du set analysis ?

 

flochi75
Creator III
Creator III
Author

du coup j'ai une erreur de syntaxe...

flochi75
Creator III
Creator III
Author

Du coup, je l'ai fait en script de chargement :

 

TABLE_FIN:
load*,
if(len(TRAISJR)=0, 'Absent',TRAISJR) as CODE_MEDTT,
age(DATEHO,DATNH01) as AGE
Resident DOSS_CPAGE;

drop table DOSS_CPAGE;

load IPPK,
if(only(CODE_MEDTT)='Absent',1,0) as FlagMTT
resident TABLE_FIN group by IPPK;

 

et en expression : 

count(distinct{<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))},AGE={">16"},FlagMTT ={"1"}>} NUMAHO)
/
count(distinct{<ANNEE_CPAGE={$(=max(ANNEE_CPAGE))},AGE={">16"}>} NUMAHO)

 

ça semble marcher..

 

merci.

View solution in original post