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: 
Not applicable

Calcul de charge

Objectif

Je cherche à détermer la charge d'un portefeuille de projets.

Les données

Je dispose des champs :

  • Composant (a considérer coome un pole d'activité)
  • EstimMacro (temps)
  • EstimWBS (temps)
  • V_affect (texte : automne 2013, printemps 2014, ...)
  • Statut (texte : ouverte, en cours, différée, abandonnée, ...)

Cas par l'exemple

ComposantEstimMacroEstimWBSv_affectorigStatut
A50150Automne 2013Ouvert
A4040VideRetenue
A100150Automne 2013Retenue
B100150Videen cours
B70100Automne 2013Ouvert
C8080VideDifferée

Note:

Si un temps existe dans l'EstimWBS, je prends ce temps.

Vide est une valeur qui vaut vide

Pour déterminer la charge d'automne 2013 :

Expr1 : Somme(Estim) = 150+40+150+150+100+80 = 670

Expr2 : Somme Estim (v_affect = vide) = 40+150 = 190

Ratio = 190 / 670 soit 28,35%

Pour déterminer la charge par composant sur la roadmap 2013

Exemple sur projet A

Somme(Estim-A) = 150+150+40 = 340

Somme Estim-A(v_affect = vide) = 40

Ratio = 40 / 340 soit 11%

Dans QliKView pour réaliser un graphique présentant le ration compket (et par composant), j'ai ecrit ceci :

Exp1 : = sum ( {<Statut = {'*'} - {'Abandonnée'} > } if (EstimWBS > 0, EstimWBS, EstimMacro))

Expr2 : = sum ( { 1 <V_Affectorig = {Vide}, Statut = {'*'} - {'Abandonnée'}> } if (EstimWBS > 0, EstimWBS, EstimMacro))

Ratio : Expr1 / Expr2

Mon problème :

Pour déterminer Expr1, le champ v_affectorig doit contenir toute les valeurs possibles

Pour déterminer Expr2, le champ v_affectorig doit avoir la valeur 'Automne 2013' de sélectionnée

Même problématique en y incluant les composants pour la déterminer de la charge par composant.

Y a t'il une solution et si oui avz vous une idée.

Merci

1 Solution

Accepted Solutions
Not applicable
Author

Excellente idée de conserver le dynamisme en passant par une variable.

Pour la syntaxe, ceci devrait mieux fonctionner, en partant du principe que la variable RoadMap prend des valeurs du style 'Automne 2013' :

sum ( {<Statut = {'*'} - {'Abandonnée'}, v_affectorig = {'$(RoadMap)'}> } if (EstimWBS> 0,EstimWBS , EstimMacro))

Amand

View solution in original post

6 Replies
Not applicable
Author

Bonjour,

La sélection sur les valeurs nulles est une problématique récurrente sur QlikView. Pour la contourner, on peut flaguer les valeurs nulles.

Par exemple, ajouter un champs identifiant les valeurs nulles dans le script :

Load

if(len(trim(v_affectorig )) = 0, 'O', 'N') as Flag_valeur_nulle

From …;

En se basant sur ce nouveau champ, on obtiendrai :

Expr 1 :

sum ( {<Statut = {'*'} - {'Abandonnée'}, Flag_valeur_nulle = {'*'}>} if (EstimWBS> 0, EstimWBS , EstimMacro))

Expr 2 :

sum ( {<Statut = {'*'} - {'Abandonnée'}, v_affectorig = {'Automne 2013'}, Flag_valeur_nulle = {'O'} > } if (EstimWBS> 0, EstimWBS , EstimMacro))


A ta dispo,

Amand

Not applicable
Author

Je n'ai pas de problème sur les valeurs nulles puisque ma requete met la valeur 'Vide' si le champ a une valeur nulle.

Not applicable
Author

Donc logiquement, ça simplifie le problème :

Expr 1 :

sum ( {<Statut = {'*'} - {'Abandonnée'}, v_affectorig = {'*'}>} if (EstimWBS> 0, EstimWBS , EstimMacro))

Expr 2 :

sum ( {<Statut = {'*'} - {'Abandonnée'}, v_affectorig = {'Automne 2013'} > } if (EstimWBS> 0,EstimWBS , EstimMacro))

Il y a peut-être quelque chose que je n'ai pas saisi dans la demande. Ne pas hésiter à laisser un qvw d'exemple.

Amand

Not applicable
Author

C'est ce que je me suis résolu à faire. Mais je voulais garder le côté dynamique en ayant la possibilité de choisir directemant par  le champ v_affectorig ou un objet de type liste de sélection et visualiser sur d'autres périodes.

J'ai essayer de passer par un champ type zone de saisie, (mettre les valeurs dans la zone valeurs listées) et faire appel à cette variable nommée roadma) dans la formule.

La syntaxe devenant pour la dernière formule :

sum ( {<Statut = {'*'} - {'Abandonnée'}, v_affectorig = $(RoadMap) > } if (EstimWBS> 0,EstimWBS , EstimMacro)

Sauf erreur dans la formule, lorsque je change la valeur dans la liste, le graphique ne se met pas à jour.

Il me semble qu'il y ai une opération à faire mais je n'ai pas retrouvé laquelle.

Not applicable
Author

Excellente idée de conserver le dynamisme en passant par une variable.

Pour la syntaxe, ceci devrait mieux fonctionner, en partant du principe que la variable RoadMap prend des valeurs du style 'Automne 2013' :

sum ( {<Statut = {'*'} - {'Abandonnée'}, v_affectorig = {'$(RoadMap)'}> } if (EstimWBS> 0,EstimWBS , EstimMacro))

Amand

Not applicable
Author

C'est super. Ca fonctionne ... avec la bonne syntaxe ...
Ce qui m'a mis dans l'erreur c'est que la variable n'avait pas la colorisation et sa forme syntaxique habituelle (italique gris clair) et je n'ai pas validé le calcul.

Je le saurai pour l'avenir.

Je valide comme bonne réponse

Merci à vous.