Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Mes meilleurs voeux à tous et félicitation quant au fonctionnment de ce forum.
Enoncé du problème:
J'admet c'est un peu tiré par les cheveux
Une base de données, des records pour y stocker entre autre les bugs et leur numéro de version.
Je fais un graphique représentant le nombre de bug par version. Formule1
=count ({<typefiche={Bug, Anomalie}, resolution={'Fixed','Non resolu', 'A traiter dans futur projet'}>} clef)
Sauf que pour une valeur spécifique de version, je dois additionner un reliquat d'une précédente gestion.
En substance,
si version = '2.1.*'
alors je compte les bugs + ce reliquat
sinon je compte les bugs de la version
En faisant cette formule de calcul sur un objet texte , cela fonctionnement parfaitement :
=count ({<typefiche={Bug, Anomalie}, versionAffect={'2.1.*'}, resolution={'Fixed','Non resolu', 'A traiter dans futur projet'}>} clef)+ 100 (exemple devaleur de reliquat)
J'ai essayé assez naivement de faire un :
if (left(versionaffect,5)='2.1.0', formule1+100 , formule1) -> Marche pas
Une idée ou alors une autre façon de faire ?
L'erreur est locale au post.
J'ai fait un tableau dans lequel j'ai ajouté l'expression wildmatch( versionAffect, '2.1.*').
Pour chaque enregistrement contenant la valeur '2.1.0' (et autres caractères suivants), je récupère la valeur 1.
J'en conclue que la valeur est evaluée correctement puisque que la fonction me retourne 1 et 0 pour celle n'entrant pas dans le critères.
J'ai même essayé sous cette forme : (sans plus de succès)
= if (Wildmatch(versionAffect,'2.1.0*')=1, count ({<typefiche={Bug, Anomalie}, resolution={'Fixed','Non resolu', 'A traiter dans futur projet'}>} clef)+ 100 , count ({<typefiche={Bug, Anomalie}, resolution={'Fixed','Non resolu', 'A traiter dans futur projet'}>} clef))
C'est assez difficile d'évaluer sans le qvw mais je pense que le problème vient de la Set Analysis qui est évaluée globalement pour tout le tableau et non pour chaque ligne, de sorte que les sélections opérées en son sein font sauter certains enregistrements. Typiquement votre reliquat ne doit pas matcher avec vos sélections
<typefiche={Bug, Anomalie}, resolution={'Fixed','Non resolu', 'A traiter dans futur projet'}>}
2 Solutions:
1°) Remplacer le count + SA par un sum( if( match(typefiche, ...) AND match( resolution,...) , 1) )
2°) Faire de la SA au sein d'un aggr et sommer ensuite: sum( aggr( <expression_initiale> , type_fiche , resolution))
Pourriez-vous nous envoyer une image avec votre modèle de données ?
Martin Favier
je peux vous envoyer un export des datas au format excel (pas en pièce jointe sur ce site)
Pour le modèle de données, vous souhaitez le .qvw ou les fichiers .tab de la structure de données (idem pas en pièce jointes sur le site)
Vous pouvez tout simplement faire une image du modèle avec l'une des options encadrées en rouge.
Pour avoir ce menu, Fichier / Visionneur de tables
Vous devriez pouvoir diffuser cette image sur la communauté. Le but étant que tout le monde puisse profiter de la solution.
Martin Favier
Je n'ai jamais mis en oeuvre les fonctions aggr ...
D'accord, il n'y a qu'une seule table.
Quelles sont les valeurs de versionAffect ? 2.1.0 ou 2.1.0....... ?
Martin Favier
Par exemple sans toutes les citer :
2.1.0
2.1.0-R1
2.1.0-R1:2.1.0
2.1.0-R1:2.1.0-R2
2.1.0-R1:2.1.0a
2.1.0-R2
2.1.0:2.1.0-R2
2.1.0:2.1.0-R3
2.1.0:2.1.0-R3:2.1.0-R4
2.1.0:2.1.0a
2.1.0:2.2.0
Avec la formule ci dessous, j'arrive au meme résultat qu'avec ma formule initiale
=sum(aggr(count({<typefiche={Bug, Anomalie}, resolution={'Fixed','Non resolu', 'A traiter dans futur projet'}>} clef),versionAffect))
Comment puis-je préciser que si versionAffect = 2.1.0* il doit y avoir +100 ?
Ok, ce n'est donc pas versionAffect qui est utilisé comme dimension de votre graphique.
Ou alors vous en avez fait une dimension calculée ?
Quelle est la dimension de votre histogramme ?
Martin Favier