Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à toutes et à tous,
j'aimerai comparer les valeurs de certains champs entre ceux de la première semaine du dossier et ceux de la dernière semaine.
Pour les dossiers débutés dans l'année étudiée, la première semaine porte le N°1. Pour les dossiers débutés l'année N-1, dans l'année étudiée, le N° de semaine est variable (dépend de la semaine de démarrage du dossier...)
Enfin, la N° de la dernière semaine est variable également...
Je n'arrive pas à m'en sortir...
Merci pour votre aide...
Florent.
Florent,
Pour ma part j’essaierais avec un set analysis de ce type (j'ai moi aussi pas mal tourné en rond pour trouver la formule sur une année) :
{<Date= {"$(=Max(Date))"} >}
Dans ton cas il faudrait avoir un champ combiné avec ANNEE + N°mois (ou de la semaine)
Chez moi ça marche pour bien retenir la dernière année que j'ai en matière de données statistiques
Tiens moi au courant
En fait, c'est pas si simple :
je m'explique :
le "NO_SEMAINE" = numérotation par dossier des semaines : si je crée un dossier aujourd'hui, son "NO_SEMAINE" sera 1. Pour un dossier créé le 1er janvier 2016, aujourd'hui son "NO_SEMAINE" sera 4...
Pour une même date, chaque dossier a un "NO_SEMAINE" différent...
J'ai 6 champs scores différents par dossiers et par semaine. Je voudrais comparer les valeurs de ces 6 champs entre la 1ère et la dernière semaine de chaque dossier...
J'ai essayé dans le script de chargement de rajouter les champs "flags" 1ere semaine et dernière semaine par dossier (via la syntaxe group by) mais je dois filtrer ces données une année, et je pense que c'est là que ça coince...
je ne sais pas si c'est plus clair..
Bonjour Florent
Comme le dit Aline je pense aussi que la solution passe par un set analysis.
Pour t'aider au mieux je pense qu'il faudrait détailler ta demande : par exemple en mettant un tableau excel de l'état de tes données et de ce que tu veux comme représentation finale.
Voire le mieux un échantillon de ton fichier Qlik Sense
Bruno
Bonjour Bruno,
je joins la table utilisée (en MAJUSCULE les Champs cibles):
je voudrais dans un tableau avoir les valeurs de
1ère semaine (NO_SEMAINE) dernière semaine (NO_SEMAINE)
ALIMENTATION 3 2
COMPORTEMENT 4 2
CONTINENCE 1 2
DEPLACEMENT 1 1
HABILLAGE 2 2
RELATION 1 1
Merci d'avance.
Florent,
Je n'y comprend rien !
En fait ton champ NO_SEMAINE n'est pas un numéro de semaine mais un numéro incrémenté par semaine ???
As tu un champs date ? un vrai champs semaine ?
En fait ton problème est de bien définir le champs (combiné surement) qui te permettrait de faire ton tri ???
A +
Re,
Désolé j'utilise QSense Desktop , je ne peux pas ouvrir les QVD
Bruno
Florent,
En regardant tes données il me semble qu'il faudrait combiner ton champs numéro de semaine civile et ton numéro de semaine???
A +
le voici en xls.
(le logiciel QVEYE permet de lire les QVD et a une fonction d'export xls...)
merci.
Bonjour Florent
A partir de ton fichier excel je me suis permis de restreindre les données et garder que certains champs pour me faciliter la tâche.
voici ce que cela donne en échantillon :
ID_SEJOUR | DATE_DEBUT_SEM | DATE_FIN_SEM | N°Mois | Mois | Année | RELATION | ALIMENTATION | COMPORTEMENT | CONTINENCE | DEPLACEMENT | HABILLAGE | NO_SEMAINE | NO_SEMAINE_CIVILE |
403820 | 10/05/2015 | 10/11/2015 | 10 | oct. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 1 | 201541 |
403820 | 11/02/2015 | 11/08/2015 | 11 | nov. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 5 | 201545 |
403820 | 16/11/2015 | 22/11/2015 | 11 | nov. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 7 | 201547 |
403820 | 11/09/2015 | 15/11/2015 | 11 | nov. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 6 | 201546 |
403820 | 10/12/2015 | 18/10/2015 | 10 | oct. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 2 | 201542 |
403820 | 23/11/2015 | 29/11/2015 | 11 | nov. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 8 | 201548 |
403820 | 19/10/2015 | 25/10/2015 | 10 | oct. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 3 | 201543 |
403820 | 26/10/2015 | 11/01/2015 | 11 | nov. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 4 | 201544 |
403820 | 30/11/2015 | 12/06/2015 | 12 | déc. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 9 | 201549 |
403820 | 12/07/2015 | 13/12/2015 | 12 | déc. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 10 | 201550 |
403820 | 14/12/2015 | 20/12/2015 | 12 | déc. | 2015 | 2 | 2 | 2 | 4 | 4 | 4 | 11 | 201551 |
Je constate que les champs relation alimentation etc , sont des colonnes distinctes dans ta base.
Déjà par rapport a çà il y a deux solutions soit passer par un crosstable dans le script pour regrouper ces colonnes sous un même champs "évènements" par exemple, soit dans un tableau passer par une dimension calculée avec la formule VALUELIST.
J'ai pris cette deuxième option avec VALUELIST
Aussi en regardant la colonne NO_SEMAINE je constate que quelque soit l'évènement (relation alimentation etc) les NO_SEMAINE sont les même.
A partir de ça j'ai fait un fichier Qlik Sense ( normalement ouvrable sous Qlikview) en prenant un table avec
Filtre ID SEJOUR
DIM ID SEJOUR
DIM EVENEMENT ( en prenant : valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')
puis MESURES :
MIN SEM avec cette formule de base : Min({$<NOM_EVENEMENT={'>0'}>}NO_SEMAINE)
MAX SEM MAX({$<NOM_EVENEMENT={'>0'}>}NO_SEMAINE)
mais pour l'adapter à la DIM Evenement il faut les développer pour chaque évènement en fonction de valuelist : qui dit en somme si la valeur de la liste de valeur de value liste = A alors prendre formule A et ainsi de suite :
if(
valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')=
'ALIMENTATION',Min({$<ALIMENTATION={'>0'}>}NO_SEMAINE),
if(
valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')=
'COMPORTEMENT',Min({$<COMPORTEMENT={'>0'}>}NO_SEMAINE),
if(
valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')=
'CONTINENCE',Min({$<CONTINENCE={'>0'}>}NO_SEMAINE),
if(
valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')=
'DEPLACEMENT',Min({$<DEPLACEMENT={'>0'}>}NO_SEMAINE),
if(
valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')=
'HABILLAGE',Min({$<HABILLAGE={'>0'}>}NO_SEMAINE),
if(
valuelist('ALIMENTATION','COMPORTEMENT','CONTINENCE','DEPLACEMENT','HABILLAGE','RELATION')=
'RELATION',Min({$<RELATION={'>0'}>}NO_SEMAINE)))))))
valeur dans la colonne évènement avec ceci :
Min({$<NO_SEMAINE={$(=min(NO_SEMAINE))}>}ALIMENTATION)
( je ne sais pas si c'est utile)
çà me donne çà :
Si il y a des évènement en début de semaine sur N-1 il faudra rajouter un set avec MIN(ANNEE) mais je n'en ai pas vu dans tes données.
je n'ai pas tester si les formules fonctionne avec des Min Sem et MAX semaine différents suivant les évènements ; pas eu le temps mais je nen ai pas vu non plus dans tes données.
voila en espérant que çà te permette d'avancer.
Ci joint le QVF
Bruno