Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
bonjour,
j'ai besoin d'un petit coup de main sur une fonction assez évoluée.
voici mes données :
Code événement | Nom étape | Nom apprenant | Evénement clôturé |
131723171 | 03 - Dossier complet | AMIAUD | NON |
131735017 | 04 - Convoc entretien Pilote | AMIAUD | NON |
131760849 | 05 - Admissible | AMIAUD | NON |
131778721 | 10 - Mise en relation | AMIAUD | NON |
131729538 | 01 - Préinscription portail | BETHYS | NON |
131742171 | 03 - Dossier complet | BETHYS | NON |
131744161 | 04 - Convoc entretien Pilote | BETHYS | NON |
131760878 | 05 - Admissible | BETHYS | NON |
131778732 | 10 - Mise en relation | BETHYS | NON |
131729564 | 01 - Préinscription portail | BLOTTIERE | NON |
131739374 | 03 - Dossier complet | BLOTTIERE | NON |
131744163 | 04 - Convoc entretien Pilote | BLOTTIERE | NON |
131760892 | 05 - Admissible | BLOTTIERE | NON |
131765138 | 01 - Préinscription portail | CABANETOS | NON |
131729561 | 01 - Préinscription portail | DALIBERT | NON |
131729180 | 01 - Préinscription portail | DALKOLMO | NON |
131738122 | 03 - Dossier complet | DALKOLMO | NON |
131747900 | 04 - Convoc entretien Pilote | DALKOLMO | NON |
131752921 | 05 - Admissible | DALKOLMO | NON |
131697327 | 01 - Préinscription portail | DREAN | NON |
131697364 | 03 - Dossier complet | DREAN | NON |
131735019 | 04 - Convoc entretien Pilote | DREAN | NON |
et je voudrais compter le nombre d'événement pour lesquels la colonne "Evénement clôturé" est égal à NON et pour lesquels le dernier "Nom étape" = "01 - Préinscription portail"
Donc je pense qu'il faut faire une agrégation sur le "Nom apprenant" pour regrouper les évènements par apprenant et ensuite faire un comptage si le dernier événement d'un apprenant est égal à "01 - Préinscription portail" donc un set analysis
count(aggr({$<[Nom étape]={'01 - Préinscription portail'},[Evénement clôturé]={'NON'}>},[Nom apprenant]) [Code événement])
mais ce que j'ai fait ne fonctionne pas bien sûr alors comment écrire cette ligne ?
dans mon exemple ci-dessus le résultat serait 3
merci
Relis une fois mon explication précédente.
Maintenant on va simuler sur le tableau de donnée ce que fait le set Analysis.:
Maintenant tu te retrouves avec 2 lignes, et c'est sur ces 2 lignes que ton expression va travailler.
Si ton expression est :
Encore une fois, dans le set analysis on ne filtre pas Nom étape, mais nom apprenant qui à comme étape max l'étape 2.
Il ne faut donc pas utiliser Count({$<...>} DISTINCT [Code événement]), mais Count({$<...>} DISTINCT [Nom apprenant])
May be this:
Count({$<[Nom apprenant] = {"=MaxString([Nom étape]) = '01 - Préinscription portail'"}, [Evénement clôturé]={'NON'}>} DISTINCT [Nom apprenant])
Bonjour,
L’aggr n’est nécessaire que dans le cas d’agrégations imbriquées (ex : le max de la somme de…).
Dans votre cas, je ne vois pas où c’est nécessaire (sauf s’il manque queque chose dans votre texte d’explication). Donc, c’est plus simple :
count( {$<[Nom étape]={'01 - Préinscription portail'},[Evénement clôturé]={'NON'}>} )
Cdt
Christophe Jouve
Principal Solution Architect
De : Jacky GAUD
Envoyé : vendredi 10 mars 2017 15:58
À : Christophe Jouve <Christophe.Jouve@qlik.com>
Objet : - aggrégation et count et analysis
Gives me 2... why is DALKOLMO included?
that's right DALKOLMO isn't included
Then the count is 2, right? If it is 2, then check the attached
Hi Sunny,
Good expression, but he wants to count "Code événement" :
=Count({$<[Nom apprenant] = {"=MaxString([Nom étape]) = '01 - Préinscription portail'"}, [Evénement clôturé]={'NON'}>} DISTINCT [Code événement])
bonjour,
je pense que l'on est pas loin du résultat mais il y a un truc que je ne comprends pas. J'ai rajouté le comptage de l'étape "02 - Dossier incomplet"
Count({$<[Nom apprenant] = {"=MaxString([Nom étape]) = '01 - Préinscription portail'"}, [Evénement clôturé]={'NON'}>} DISTINCT [Code événement]) +
Count({$<[Nom apprenant] = {"=MaxString([Nom étape]) = '02 - Dossier incomplet'"}, [Evénement clôturé]={'NON'}>} DISTINCT [Code événement])
et ça me donne ceci
Code événement | Nom étape | Nom apprenant | Evénement clôturé | préinscription |
7 | ||||
131765138 | 01 - Préinscription portail | CABANETOS | NON | 1 |
131729561 | 01 - Préinscription portail | DALIBERT | NON | 1 |
131730043 | 01 - Préinscription portail | FORESTE | NON | 1 |
131729567 | 01 - Préinscription portail | GEAY | NON | 1 |
131677463 | 01 - Préinscription portail | PLOQUIN | NON | 1 |
131723087 | 01 - Préinscription portail | VICKERS | NON | 1 |
131730754 | 02 - Dossier incomplet | VICKERS | NON | 1 |
ce qui n'est pas normal car je vois 2 fois Vickers alors que je veux compter que la dernière étape donc la ligne Préinscription de Vickers ne devrait pas apparaître.
Rappel je ne veux compter que la dernière étape pour laquelle il y a eu préinscription ou dossier complet.
C'est tout a fait normal comme résultat, car tu utilises ton expression dans un tableau dans le quel tu as mis comme dimension "Nom étape". Ca a un effet de filtre.
Si tu enlèves la dimension "Nom étape" tu n'auras plus qu'une seul ligne pour VICKERS.
Et si tu désire afficher le nom de l'étape en cours, il te suffit d'ajouter l'expression : MaxString([Nom étape])
Note : Tu peux facilement déplacer ton expression "Nom étape" au milieu de tes dimensions, en sélectionnant son label et en le déplaçant à la position désirée.
effectivement cela résout le pb d'affichage mais le compte n'y est pas car au total j'ai 7 alors que ça devrait être 6
donc j'ai modifié le code en mettant
Count({$<[Nom apprenant] = {"=MaxString([Nom étape]) = '01 - Préinscription portail'"}, [Evénement clôturé]={'NON'}>} DISTINCT [Nom apprenant]) +
Count({$<[Nom apprenant] = {"=MaxString([Nom étape]) = '02 - Dossier incomplet'"}, [Evénement clôturé]={'NON'}>} DISTINCT [Nom apprenant])
et c'est mieux car maintenant j'ai 6