Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
jftour73
Contributor
Contributor

Question créer une moyenne et ecartype des max d'une variable dans une table

Bonjour, je débute avec Qlikview et ne suis ni informaticien, ni statististicien. J'ai une variable (Nombre de cycle) chez des patients. Je parviens à extraire une table avec les max (nb cycle) pour chaque patient mais ne parviens pas à calculer la moyenne et ecartype de ces données. Ni en une fois, ni en 2 étapes. Merci pour votre aide

9 Replies
christophebrault
Specialist
Specialist

Bonjour et bienvenu sur Qlik,

Une bonne pratique pour nous aider à te répondre est de donner la structure de tes données (tables chargées dans le script), et si possible un jeu d'exemple de ces données.

En l'occurence, je n'ai pas assez d'éléments pour te répondre correctement...

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
kevinchevrier
Partner - Creator III
Partner - Creator III

Pour l'écart type :Stdev - fonction de graphique ‒ QlikView

Pour la moyenne avg()

Il faut que tu aies un champ montant pour chaque cycle.

kevinchevrier
Partner - Creator III
Partner - Creator III

Si c'est sur tes nombres de cycle et que tu as une variable nommé vNombredecycle alors dans tes graphiques ou tableau, ça donne :

Stdev($(vNombredecycle))


et


avg($(vNombredecycle))

jftour73
Contributor
Contributor
Author

Absolument! désolé, je n'y suis pas familier.

Voici les éléments du script que je charge

LOAD [Year],

   

     [ID_patient (Fusafe)],

     [Protocol category],

     [Cycle number (fusafe)],

    

ID patient est un numéro unique par patient

Protocol category est le type de protocole

Cycle number est le numéro du cycle. La patient vient pour un cycle 1, puis 2 puis 3 etc.... (parfois, ce chiffre commence avec un autre nombre de cycle suivant l'entrée du patient dans l'étude)

Si je fais la moyenne du nb de cycle, cela me donne une moyenne de tous les nombres enregistrés, or ce que je souhaite, c'est la moyenne du nombre max de cycles par protocole. Je peux essayer de te partager un bout d cela table si necessaire.

Merci pour ton aide

kevinchevrier
Partner - Creator III
Partner - Creator III

Alors dans un premier objet texte, tu peux calculer la moyenne des max de cette manière :

=avg(aggr(max([Cycle number (fusafe)]), [Protocol category]))


Pour l'écart type, dans un deuxième objet texte :

=Stdev(aggr(max([Cycle number (fusafe)]), [Protocol category]))


La fonction d'aggrégation aggr() te permet de calculer les MAX par protocole.


jftour73
Contributor
Contributor
Author

OK, merci beaucoup! on avance. Si je veux le résultat en tableau comme cela?

    

Protocolemoyenne du nb de cycle max par patient
5FU2
CDDP-CARBO5

etc...

kevinchevrier
Partner - Creator III
Partner - Creator III

Dans ce cas, je ne suis même pas sûr qu'il y ait besoin d'aggrégation.

=avg(max([Cycle number (fusafe)]))


Si ça ne marche pas, tu peux toujours faire un max dans ton script :

max([Cycle number (fusafe)]) as MAX_CYCLE_NUMBER

et après ton FROM tu fais un GROUP BY [Protocol category]

Puis tu fais avg(MAX_CYCLE_NUMBER) dans ton tableau en expression si tu as protocole en dimension

jftour73
Contributor
Contributor
Author

Il me manque tellement de notions....

Dans Mon script je n'ai que loader... les tables, je pense qu'il faut que je le définisse ailleurs, mais comment exactement?

LOAD [Year],

     [Center],

     [Center number],

    

     ,,,/,,,

     [Standard delay],

     [Range %dose],

     [DIC6],

     Modif_adapt_dose_Fusafe

     max([Cycle number (fusafe)]) as MAX_CYCLE_NUMBER

FROM

[\\VBOXSVR\Computer_Engineering\Personnel\FUSAFE\Fusafe_Datas_QlikView_VF.xlsx]

(ooxml, embedded labels);

GROUP BY [Protocol category]

kevinchevrier
Partner - Creator III
Partner - Creator III

ton ";" doit être après le group by et non pas après le FROM

FROM

[\\VBOXSVR\Computer_Engineering\Personnel\FUSAFE\Fusafe_Datas_QlikView_VF.xlsx]

(ooxml, embedded labels)

GROUP BY [Protocol category];