3 Replies Latest reply: Apr 28, 2017 9:36 AM by xavier BERTRET RSS

    Cumul sur histogramme avec données vides

    xavier BERTRET

      Bonjour.

      Première discussion en ce qui me concerne, j'espère ne pas faire d'erreur, merci par avance pour votre compréhension.

       

      La situation :

      Je dois réaliser un graphique en histogramme avec une valeur de CA que je dois cumuler. La première dimension correspond au mois de signature de l'affaire. Il y a également une dimension pour indiquer le nom du responsable en charge de l'affaire.

       

       

      Autant pour le mois de janvier j'ai des valeurs pour les 2 responsables, autant pour le mois de février je n'ai des valeurs que pour l'un d'eux. Mat table QVD ne contient donc pas de ligne pour le mois de février pour le second responsable ( voir qvd joint ).

       

      Il semble que Qlik ne soit pas capable d'analyser la valeur manquante et cumul pas la totalité sur le mois de février. Je me retrouve donc avec ce graphique :

       

      QlikView - [DXAVIERCLICK_VIEWAPPLIS03_CAPCAP_2_ETAPE_2.jpg

       

      Ma difficulté :

      Comment faire en sorte que la barre du mois de février m'affiche 3150 pour Alexandre et 3000 pour Bernard ?

       

      Merci d'avance pour votre aide car j'ai beau chercher je n'ai pas trouvé.

       

      Pour info j'ai essayé le principe de  mastercalendar que j'ai trouvé sur la communié mais malheureusement sans succès. Le code fonction mais le résultat graphique est le même.....

        • Re: Cumul sur histogramme avec données vides
          Sébastien Fatoux

          Salut,

           

          Le problème vient du fait que QlikView n'affiches pas les données qui n'existe pas et ceci passe avant le cumul.

           

          Si tu veux que ton graphe s'affiche correctement:

          Community_1251352_2.png

           

          Il faut décocher "Supprimer les valeurs nulles":

          Community_1251352.png

           

           

          Et ajouter dans ton script les lignes suivantes à la suite du chargement de ton qvd, pour y ajouter les combinaisons manquantes :

           

          // Chargement de ton QVD

          VENTE_EE_OPPORTUNITES:
          LOAD CA_OPPORT_,
          REF_DEVIS,
          DATE_SIGNATURE_EE_OPPORT,
          MOIS_SIGNATURE,
          MANAGER_1_OPPORT_CREE_PAR,
          SOUS_UNIVERS
          FROM
          [..\Downloads\VENTE_EE_OPPORTUNITES.qvd]
          (
          qvd);


          // Ajout du champ temporaire tmp_KEY_VENTE_EE_OPPORTUNITES qui me permettra de tester l'existance
          // des combinaisons des chgamps MOIS_SIGNATURE et MANAGER_1_OPPORT_CREE_PAR
          Left join(VENTE_EE_OPPORTUNITES)
          LOAD
          MOIS_SIGNATURE, // Clé de jointure
          MANAGER_1_OPPORT_CREE_PAR, // Clé de jointure
          MOIS_SIGNATURE & '_' & MANAGER_1_OPPORT_CREE_PAR as tmp_KEY_VENTE_EE_OPPORTUNITES
          Resident VENTE_EE_OPPORTUNITES;


          // Création de la table temporaire tmp_AllManagerByMonth qui définis toutes les combinaisons
          // des champs MOIS_SIGNATURE et MANAGER_1_OPPORT_CREE_PAR
          tmp_AllManagerByMonth:
          LOAD Distinct
          MANAGER_1_OPPORT_CREE_PAR
          Resident VENTE_EE_OPPORTUNITES;

          Outer Join(tmp_AllManagerByMonth)
          LOAD Distinct
          MOIS_SIGNATURE
          Resident VENTE_EE_OPPORTUNITES;


          // Ajout des combinaisons des champs MOIS_SIGNATURE et MANAGER_1_OPPORT_CREE_PAR qui n'existe pas
          Concatenate(VENTE_EE_OPPORTUNITES)
          LOAD *
          Resident tmp_AllManagerByMonth
          Where not Exists(tmp_KEY_VENTE_EE_OPPORTUNITES, MOIS_SIGNATURE & '_' & MANAGER_1_OPPORT_CREE_PAR) ;


          // Suppression des tables et champs temporaires
          DROP Field tmp_KEY_VENTE_EE_OPPORTUNITES;
          DROP Table tmp_AllManagerByMonth;

          • Re: Cumul sur histogramme avec données vides
            xavier BERTRET

            Un grand merci pour ta réponse très complète et qui semble correspondre à mon attente. Je vais tester cela très rapidement. Encore merci.