6 Replies Latest reply: Jan 27, 2015 4:14 AM by luc Derosne RSS

    Si vide

      Bonjour,

       

      je souhaite créer une variable [N° Groupe ou DC] qui me renvoie le N° de Groupe lorsque celui-ci existe et le N° de DC quand il n'y a pas de N° de Groupe. Comment procéder ? Merci !

      gROUPE OU dc.JPG

       

        • Re: Si vide
          David B.

          Bonjour,

          Je crois que cette ligne dans ton script pourra t'aider.

          if(isnull([N° GP]=-1, [N° DC], [N° GP]) as [N° GP ou DC]

           

          Après rechargement du script, tu auras une nouvelle dimension [N° GP ou DC]

           

          Cordialement

            • Re: Si vide

              Bonjour David,

               

              merci pour ta réponse mais ça ne fonctionne toujours pas...

              j'ai essayé ça

              If(IsNull([CIAL_Numéro groupe]),[CIAL_Numéro],[CIAL_Numéro groupe]) As [CIAL_Numérou groupe ou DC]

              ça ne fonctionne pas non plus...

               

              La fonction IsNull([CIAL_Numéro groupe]) me renvoie 0 lorsque c'est pas nul et un '-' lorsque c'est vide.

               

                • Re: Si vide
                  David B.

                  Bonjour Gaëtan,

                   

                  Oui c'est normal,

                  La fonction Isnull envoie -1 si le test est vrai est 0 si le test est faux.

                   

                  Dans ma précédente ligne j'ai oublié une parenthèse :

                  if(

                  isnull([N° GP])=-1, [N° DC], [N° GP]) as [N° GP ou DC]

                   

                  Tu peux retenter stp ca devrait etre ok.

                   

                  Merci

              • Re: Si vide
                luc Derosne

                si le premier est vide, une simple concaténation devrait suffire :

                 

                table:

                LOAD * INLINE [

                    gpe,dc,

                    gp1,dc1

                    gp2,dc2

                    gp3,dc3

                    ,dc4

                    ,dc5

                    ,dc6

                ];

                 

                table2:

                LOAD

                  gpe    as Groupe,

                  dc     as Cmde,

                     gpe&dc as Grpcmde

                resident table;

                  • Re: Si vide

                    Bonjour Luc,

                     

                    ça pose problème lorsque qu'aucun champ n'est vide....

                     

                    Merci

                      • Re: Si vide
                        luc Derosne

                        Exact; çà marche mieux comme çà, par contre la fonction isnull() ne me renvoie pas ce que je croyais dans le if,

                        alors j('ai pris un   if(trim(gpe)='',dc,gpe)

                         

                        table:

                        LOAD * INLINE [

                            gpe,dc,

                            gp1,dc1

                            gp2,dc2

                            gp3,dc3

                            ,dc4

                            ,dc5

                            ,dc6

                        ];

                        table2:

                        LOAD

                          gpe    as Groupe,

                          dc     as Cmde,

                          if(trim(gpe)='',dc,gpe)

                        resident table;