Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
chadliagabsi
Creator II
Creator II

Count with set analysis

Bonjour,

pour arriver à calculer les présences physiques je dois trouver l’écart entre n et n-1 J'ai réussi à le calculer. Après je dois calculer le nombre des écarts  qui égale -1 et à 1  de l'année sélectionnée.

j'ai utilisé l'expression suivante mais ca ne fonctionne toujours pas.

Expression:

count ( {$<ANNEE={$(=max(ANNEE))}

if(

If(Sum({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {'*'}-{'Congé parental'}>} ((Aggr(Count({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {'*'}-{'Congé parental'}>}

NOMBRE_JOURS_TRAVAILLES),

ANNEE, MOIS, MOTIF, TEMPS_TRAVAIL)/Day(MonthEnd(Date(Date#(MOIS, 'MMM'))))) * TEMPS_TRAVAIL)/100)/12 <> 0, 1, 0)

-

If(Sum({$<ANNEE={$(=max(ANNEE))}, MOTIF = {'*'}-{'Congé parental'}>} ((Aggr(Count({$<ANNEE={$(=max(ANNEE))}, MOTIF = {'*'}-{'Congé parental'}>}

NOMBRE_JOURS_TRAVAILLES),

ANNEE, MOIS, MOTIF, TEMPS_TRAVAIL)/Day(MonthEnd(Date(Date#(MOIS, 'MMM'))))) * TEMPS_TRAVAIL)/100)/12 <> 0, 1, 0)

= -1 ,

MATRICULE_AGENT))

test.png

7 Replies
brunobertels
Master
Master

Bonjour

Peut être rien à voir mais le premier { de ton expression ne semble pas avoir de } de sortie dans ta formule ci dessous

Peut être essayer de le mettre ici MATRICULE_AGENT) } )

Capture.PNG

chadliagabsi
Creator II
Creator II
Author

Bonjour Bruno,

J'ai pas pu la fermer aprés matricule_agent par contre je l'ai fermé en haut et toujours pas de résultat

count({$<ANNEE={$(=max(ANNEE))}> }

Par contre j'ai essayé cette expression mais elle me donne aussi des personnes non concernées.

count(distinct(aggr(if (If(Sum({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {'*'}-{'Congé parental'}>} ((Aggr(Count({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {'*'}-{'Congé parental'}>}

NOMBRE_JOURS_TRAVAILLES),

ANNEE, MOIS, MOTIF, TEMPS_TRAVAIL)/30) * TEMPS_TRAVAIL)/100)/12 <> 0, 1, 0)

-

If(Sum({$<ANNEE={$(=max(ANNEE))}, MOTIF = {'*'}-{'Congé parental'}>} ((Aggr(Count({$<ANNEE={$(=max(ANNEE))}, MOTIF = {'*'}-{'Congé parental'}>}

NOMBRE_JOURS_TRAVAILLES),

ANNEE, MOIS, MOTIF, TEMPS_TRAVAIL)/30) * TEMPS_TRAVAIL)/100)/12 <> 0, 1, 0)

= -1 ,MATRICULE_AGENT),ANNEE,MATRICULE_AGENT)

))

brunobertels
Master
Master

Re,

Ah désolé, du coup je ne vois pas... trop compliqué pour moi

Bruno

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Vu que dans tes IF tu veux simplement vérifier si c'est <> 0, tu peux simplifier ton expression en supprimant toutes cette partie /Day(MonthEnd(Date(Date#(MOIS, 'MMM'))))) * TEMPS_TRAVAIL)/100)/12

Tu n'auras un 0 que si NOMBRE_JOURS_TRAVAILLES ou TEMPS_TRAVAIL est à 0, et je pense que tu n'auras pas TEMPS_TRAVAIL à 0 si tu as NOMBRE_JOURS_TRAVAILLES <> 0.

Essaye ça :

Nombre de sortie:

= Sum( Aggr(
If(
If(Sum({$<ANNEE={$(=max(ANNEE))}, MOTIF = {"*"}-{'Congé parental'}>} Aggr(Count({$<ANNEE={$(=max(ANNEE))}, MOTIF = {"*"}-{'Congé parental'}>} NOMBRE_JOURS_TRAVAILLES), ANNEE, MOIS, MATRICULE_AGENT)) <> 0, 1, 0)
-
If(Sum({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {"*"}-{'Congé parental'}>} Aggr(Count({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {"*"}-{'Congé parental'}>} NOMBRE_JOURS_TRAVAILLES), ANNEE, MOIS, MATRICULE_AGENT)) <> 0, 1, 0)
= -1
,1
,0
)
,
MATRICULE_AGENT)
)

Nombre d'entrée:

= Sum( Aggr(
If(
If(Sum({$<ANNEE={$(=max(ANNEE))}, MOTIF = {"*"}-{'Congé parental'}>} Aggr(Count({$<ANNEE={$(=max(ANNEE))}, MOTIF = {"*"}-{'Congé parental'}>} NOMBRE_JOURS_TRAVAILLES), ANNEE, MOIS, MATRICULE_AGENT)) <> 0, 1, 0)
-
If(Sum({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {"*"}-{'Congé parental'}>} Aggr(Count({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {"*"}-{'Congé parental'}>} NOMBRE_JOURS_TRAVAILLES), ANNEE, MOIS, MATRICULE_AGENT)) <> 0, 1, 0)
= 1
,1
,0
)
,
MATRICULE_AGENT)
)

chadliagabsi
Creator II
Creator II
Author

bonjour Sébastien,

pour les sorties donnent toujours 0 j'ai essayé à inversé n-1 et n pareillement toujours 0

= Sum( Aggr(

If(

If(Sum({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {"*"}-{'Congé parental'}>} Aggr(Count({$<ANNEE={$(=max(ANNEE-1))}, MOTIF = {"*"}-{'Congé parental'}>} NOMBRE_JOURS_TRAVAILLES), ANNEE, MOIS, MATRICULE_AGENT)) <> 0, 1, 0)

- If(Sum({$<ANNEE={$(=max(ANNEE))}, MOTIF = {"*"}-{'Congé parental'}>} Aggr(Count({$<ANNEE={$(=max(ANNEE))}, MOTIF = {"*"}-{'Congé parental'}>} NOMBRE_JOURS_TRAVAILLES), ANNEE, MOIS, MATRICULE_AGENT)) <> 0, 1, 0)

= 1,1,0),MATRICULE_AGENT))

sfatoux72
Partner - Specialist
Partner - Specialist

Peux-tu mettre un print screen afin que je puisse voir les sélections effectuées et l'objet dans lequel est utilisé l'expression (il faut que je connaisse les dimensions utilisées dans cet objet)

chadliagabsi
Creator II
Creator II
Author

J'ai juste sélectionné l'année. Et dans mon tableau j'ai que l'année comme dimension.

test.png