Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

fonction sum avec set analysis

Bonjour,

J'ai besoin d'un petit coup de main sur une fonction sum

voici les données :

     

Nom entrepriseNom étape événementEvénement clôturéNbre souhait
DAHER AEROSPACE2 - Souhait d'accueilNON1
DAHER AEROSPACE2 - Souhait d'accueilOUI1
DAHER AEROSPACE2 - Souhait d'accueilOUI2
DAHER AEROSPACE3 - Mise en RelationOUI1
DAHER AEROSPACE3 - Mise en RelationOUI2
DAHER AEROSPACE4 - PlacementOUI1
DAHER AEROSPACE4 - PlacementOUI2
EADS Astium ST2 - Souhait d'accueilNON1
ESPACE2 - Souhait d'accueilNON1
FAMAT2 - Souhait d'accueilNON1
FAMAT2 - Souhait d'accueilOUI1
FAMAT3 - Mise en RelationOUI1
FAMAT4 - PlacementOUI1


je souhaite faire la somme du "Nbre souhait" dont le dernier "Nom étape événement" est égal à "2 - Souhait d'accueil" et "Evénement Clôturé" est à "NON" un truc dans ce style mais ça ne fonctionne pas :

sum({$<[Nom entreprise] = {"=MaxString([Nom étape événement]) = '2 - Souhait d'accueil'"}, [Evénement clôturé]={'NON'}>} [Nbre souhait])

dans l'exemple ci-dessus cela donnerait 1+1=2 pour "EADS Astium ST" et "ESPACE"

merci pour l'aide

1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

C'est simple tu utilises directement ta variable dans ta fonction

View solution in original post

23 Replies
Not applicable
Author

depuis ce matin je n'arrête pas d'essayer différentes syntaxes mais rien n'y fait

je pensais avoir trouver cela

sum(if([Evénement clôturé]='NON' and aggr(MaxString([Nom étape événement]),[Nom entreprise]) = '2 - Souhait d''accueil', [Nbre souhait]))

mais non, si quelqu'un pouvait m'aider ça serait sympa, merci

Anonymous
Not applicable
Author

Hello,

Je pense que le plus simple serait que tu créées un flag dans ton script directement :

if(Nom étape événement= $(v_MAxstring), 1, 0)

et v_Maxstring = aggr(MaxString([Nom evenement]) ,[NOM Entreprise])

Tu mets ça en load après le load de ton table car sinon cela ne marchera pas.

Après dans ton tableau tu n'auras qu'à faire un sum({<flag={'1' }Nbre souhait>}

Essaie ça pour voir

Anonymous
Not applicable
Author

Tu es obligé d'avoir le résultat dans un objet texte ou tu peux le présenter dans un  tableau?

Not applicable
Author

je veux les résultats dans un tableau car j'ai d'autres valeurs à afficher

sinon j'ai essayé avec la solution du flag mais je n'y arrive pas, désolé

donc j'en suis en creuser la solution

sum(if([Evénement clôturé]='NON' and aggr(MaxString([Nom étape événement]),[Nom entreprise]) = '2 - Souhait d''accueil', [Nbre souhait]))

qui fonctionne globalement sauf dans certains cas !!!!

si je n'ai aucune sélection j'ai un total de 77 souhaits et si je sélectionne un critère je passe à 189 alors que normalement lorsque l'on sélectionne un critère on devrait en avoir moins ???

Anonymous
Not applicable
Author

Dans ces cas là si tu utilises un tableau , peut être que mon exemple t'aidera pour creuser

Not applicable
Author

je viens de tester ta solution et le problème c'est que je me retrouve avec une colonne supplémentaire appelée "NomEvenement" alors que je ne veux pas l'afficher.

Et on ne peut la désactiver car une formule y fait référence.

peut-on faire autrement ?

Anonymous
Not applicable
Author

C'est simple tu utilises directement ta variable dans ta fonction

Not applicable
Author

effectivement cela fonctionne.

maintenant j'ai le même phénomène qu'avec ma formule.

sur ma base réelle lorsque je ne fais aucune sélection j'ai un total de 36 souhaits et si je fais une sélection sur un critère je passe à 70 par exemple donc plus alors que je devrais en avoir moins ?

ça je ne comprends pas pourquoi ? mais sans avoir la base ça ne doit pas être évident à voir

Anonymous
Not applicable
Author

Tu peux faire un screenshot de tes sélections? et du tableau?