3 Replies Latest reply: Mar 25, 2015 10:04 AM by rodrigo silvestre RSS

    Dúvida regra no scripit

    rodrigo silvestre

      Boa tarde pessoal,

       

      Seguinte eu tenho uma tabela com os campos PRODUTO , CIDADE_LOJA , CIDADE_CLIENTE. Eu tenho uma regra onde eu precisava criar uma flag para calculo toda vez que tiver uma venda onde a CIDADE_CLIENTE seja diferente da CIDADE_LOJA, mas que exista essa CIDADE_CLIENTE em outras CIDADE_LOJA. ( ou seja quando uma loja faz uma venda em uma cidade de outra loja).

       

      exemplo:

      PRODUTO, CIDADE_LOJA, CIDADE_CLIENTE, FLAG_INVASAO

      X , CURITIBA, CURITIBA,                 N

      Y , FLORIANÓPOLIS, BLUMENAU,    N

      Z,  FLORIANÓPOLIS, CURITIBA,        S

       

      ideias?

        • Re: Dúvida regra no scripit
          Aderlan Rodrigues

          Fala Rodrigo, tudo bem meu caro?

           

          Use o Left Join com residente nessa tabela e o Exists.

           

          Vou tentar fazer um exemplo para você.

           

          Como prometido, segue exemplo, porém, a resposta do Alessandro é bem melhor.

           

          Produtos:

          LOAD * INLINE [

              PRODUTO, CIDADE_LOJA, CIDADE_CLIENTE

              X, CURITIBA, CURITIBA

              Y, FLORIANÓPOLIS, BLUMENAU

              Z, FLORIANÓPOLIS, CURITIBA

          ];

           

          Left Join (Produtos)

          LOAD *, If(CIDADE_LOJA<>CIDADE_CLIENTE and Exists(CIDADE_LOJA,CIDADE_CLIENTE) ,'S','N') as FLAG_INVASAO

          Resident Produtos;

           

          Abraço.

          • Re: Dúvida regra no scripit
            Alessandro Furtado

            Boa noite Rodrigo.

             

            Script:

             

            Cidades_Com_Loja:

            mapping LOAD * INLINE [

            CIDADE_LOJA    ,INVASAO

            CURITIBA       ,S

            FLORIANÓPOLIS  ,S

            ];

             

            Venda:

            LOAD *,

                 ApplyMap('Cidades_Com_Loja',if(CIDADE_LOJA <> CIDADE_CLIENTE,CIDADE_CLIENTE),'N')  as FLAG_INVASAO;

            LOAD * INLINE [

            PRODUTO, CIDADE_LOJA  , CIDADE_CLIENTE

            X      , CURITIBA     , CURITIBA

            Y      , FLORIANÓPOLIS, BLUMENAU

            Z      , FLORIANÓPOLIS, CURITIBA

            ];

             

             

            Resultado:

             

             

            CIDADE_LOJA CIDADE_CLIENTE PRODUTO FLAG_INVASAO
            FLORIANÓPOLISBLUMENAUYN
            CURITIBACURITIBAXN
            FLORIANÓPOLISCURITIBAZS
            • Re: Dúvida regra no scripit
              rodrigo silvestre

              Opa Aderlan, tudo beem sim!

               

              Alessandro e Aderlan, obrigado pela ajuda!