6 Replies Latest reply: Jul 26, 2013 3:51 AM by Eddie CASALI RSS

    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

        • Re: Calcul de charge

          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

          • Re: Calcul de charge

            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

              • Re: Calcul de charge

                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.

                  • Re: Calcul de charge

                    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

                      • Re: Calcul de charge

                        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.