Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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...
Pour l'écart type :Stdev - fonction de graphique ‒ QlikView
Pour la moyenne avg()
Il faut que tu aies un champ montant pour chaque cycle.
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))
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
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.
OK, merci beaucoup! on avance. Si je veux le résultat en tableau comme cela?
Protocole | moyenne du nb de cycle max par patient |
5FU | 2 |
CDDP-CARBO | 5 |
etc...
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
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]
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];