4 Replies Latest reply: Mar 10, 2016 9:37 AM by Michael Ouazana RSS

    Comparaison de valeur entre lignes d'un load

    Michael Ouazana

      Bonjour,

       

      Encore débutant sur Qlikview, je ne sais pas si ce que je souhaite faire est possible, et si oui, comment le faire.

       

      Il me faut comparer les lignes dans un load pour supprimer les doublons, suivants certaines conditions.

      J'ai vu beaucoup d'exemples de comparaison entre ligne sur des tableaux, mais pas (encore) dans le load même.

       

      Actuellement, pour ce faire, j'essaie la méthode suivante : construction de 3 tables, la seconde appelant la première, et la 3e la 2nde.

      Les tables font plusieurs dizaines de millier de ligne et plusieurs dizaines de colonnes. Celles présentées ci-après le sont juste à titre d'exemple.

      Ce sont les FieldValue qui semblent ne pas fonctionner, ce que je ne comprends pas.

       

      Auriez-vous une idée ?

       

       

      Table1 :

      LOAD * inline [

      Champ1  Champ2  Champ3  Champ4

      A1            A2             A3           A4

      B1            B2             B3           B4

      ]

      ;

       

      Table2 :

      LOAD *,

      if (FieldValue([Champ1],RecNo()) = FieldValue([Champ1],RecNo()-1)

           and FieldValue([Champ2],RecNo()) <> FieldValue([Champ2],RecNo()-1)

           and FieldValue([Champ2],RecNo()-1) = '', 1, 2) as [aSupprimer]

      Resident Table1

      ;

       

      DROP Table Table1;

       

      Table3 :

      LOAD *

      Resident Table2

      where exists('aSupprimer',2)  //ceux marqués d'un 1 ne sont pas pris en compte

      ;

       

      DROP Table Table2;

       

       

      Merci pour toute réponse, et idée pouvant m'aider

       

      Michaël