4 Replies Latest reply: Dec 9, 2016 3:03 AM by Daniel MARTIN RSS

    utilisation variable dans expression

    Daniel MARTIN

      Bonjour,

      Je galère depuis un moment sur ce point.
      Pour essayer de faire simple j'ai une variable qui contient mes ventes prévisionnelles de la façon suivante "ventes _moyennes_jour x nombre de jours jusqueà la prochaine date de livraison":

      LET v_Ventes_Previsionnelles = 'num(sum(SORTIESMOYENNESJOURTOTAL)*NetWorkDays(today(),date(DATEPROCHAINELIVRAISON,'&chr(39)&DateFormat&chr(39)&')))';

       

      Je souhaite utiliser cette variable dans une autre variable pour compter le nombre d'articles en ruptures prévisionnelles, c'est à dire ceux dont le stock actuel est inférieur à ces ventes prévisionnelles de la façon suivante :

       

      LET v_Compt_Art_Rupt_Prev = 'count({<[QTEPHYSSTOCKDEPOT]={"<$(=v_Ventes_Previsionnelles)"}>} DISTINCT ARTICLECODE)';

       

      Sauf que ça ne fonctionne pas ... problème de syntaxe ou incompatibilité ?

        • Re: utilisation variable dans expression
          Sébastien Fatoux

          Bonjour Daniel,

           

          Le problème c'est que le calcul de tes Ventes_Professionnelles s'applique à tout tes articles et nom pas article par article.

           

          Pour le faire article par article, et pouvoir les compter par la suite, il faudrait plutôt essayer quelques chose comme ça:

           

          LET v_Compt_Art_Rupt_Prev = 'Sum(Aggr(If([QTEPHYSSTOCKDEPOT] < $(v_Ventes_Previsionnelles), 1, Null()), ARTICLECODE))';

           

          Je ne l'ai pas testé, mais je pense que c'est la piste à suivre

            • Re: utilisation variable dans expression
              Daniel MARTIN

              Merci, ça m'a effectivement parfaitement aiguillé et j'ai trouvé comment faire fonctionner !

               

              Autre interrogation :

               

              J'ai la variable suivante qui permet de:
              LET v_Stock = 'max(aggr(sum({<[Date]={"$' & '(=num(max(Date)))"}>}QTEPHYSSTOCKDEPOT),ARTICLECODE,Site))';

               

              Lorsque j'inclus cette variable dans une autre je perds une partie de l'expression.

              Exemple :

               

              LET v_Valeur_Stock_PV = '$(v_Stock)*$(v_PVTTC)';

               

              Si j'affiche le contenu de v_Valeur_Stock afin d'avoir un visu de l'expression j'obtiens ça :

               

              max(aggr(sum({<[Date]={""}>}QTEPHYSSTOCKDEPOT),ARTICLECODE,Site))*max(aggr(sum({<[Date]={""}>}PVTTC),ARTICLECODE,Site))

               

              En gros, Qlikview perd la fonction permettant de récupérer la date max.

               

              Erreur de syntaxe ?