47 Replies Latest reply: Mar 1, 2017 3:48 PM by MARIO SOARES RSS

    Valores Nulos ou Espaços em branco

    Laryssa Alves

      Bom dia!

      Tenho a seguinte tabela e fiz os seguintes testes:

      =len(TELEF_PESSOA_T)

      =IF(IsNull(TELEF_PESSOA_T),'NULO', 'NÃO É NULO')

       

       

      Capturar.PNG

      Não estou entendendo porque os campos em branco (TELEF_PESSOA_T) estão como não nulos, contando 1 caractere...

      Usei o trim no script também para tirar possíveis espaços em branco e as propriedades da tabela estão assim:

       

      Capturar2.PNG

       

      Desde já, obrigada!

        • Re: Valores Nulos ou Espaços em branco
          Márcio Rodrigo Campestrini

          Bom dia Larissa

           

          Com certeza o campo está com um caractere em branco.

          Qual o resultado esperado? Você está utilizando o trim no tratamento do Qlikview ou no momento da carga do banco de dados (o melhor local)?

            • Re: Valores Nulos ou Espaços em branco
              Laryssa Alves
              [TABELA PRINCIPAL]:
              LOAD
              TIPO_DE_PUBLICO_T,
              COD_EMPRESA,
              timestamp(DATA_DO_CHAMADO_T) AS DATA_DO_CHAMADO_T,
              Right(dayname(DATA_DO_CHAMADO_T),4) AS Ano_T,
              MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS Mes_T,
              CODIGO_DO_CHAMADO_T,
              PROTOCOLO_T,
              MANIFESTACAO_T,
              GRUPO_MANIFESTACAO_T,
              TIPO_MANIFESTACAO_T,
              NM_FUNCIONARIO_ABRIU_T,
              NOME_FUNCIONARIO_T,
              AREA_FUNCIONARIO_T,
              AREA_ABRIU_T,
              timestamp(DATA_CONCLUSAO_CHAMADO_T) AS DATA_CONCLUSAO_CHAMADO_T,
              dayname(PREVISAO_RESOLUCAO_T) AS PREVISAO_RESOLUCAO_T,
              FORMA_CONTATO_T,
              RAMAL_PESSOA_T,
              COD_CORPORATIVO_PESSOA_T,
              PESS_PESS_NM_PESSOA_T,
              GRAU_SATISFAÇÃO_T,
              timestamp(DATA_HORA_ENVIO_PESSOA_T) AS DATA_HORA_ENVIO_PESSOA_T ,
              timestamp(DATA_HORA_RESP_PESSOA_T) AS DATA_HORA_RESP_PESSOA_T,
              concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) AS TELEF_PESSOA_T
              
              
              
              
              
              
              GROUP BY 
              TIPO_DE_PUBLICO_T,
              COD_EMPRESA,
              DATA_DO_CHAMADO_T,
              CODIGO_DO_CHAMADO_T,
              PROTOCOLO_T,
              MANIFESTACAO_T,
              GRUPO_MANIFESTACAO_T,
              TIPO_MANIFESTACAO_T,
              NM_FUNCIONARIO_ABRIU_T,
              NOME_FUNCIONARIO_T,
              AREA_FUNCIONARIO_T,
              AREA_ABRIU_T,
              DATA_CONCLUSAO_CHAMADO_T,
              PREVISAO_RESOLUCAO_T,
              FORMA_CONTATO_T,
              RAMAL_PESSOA_T,
              COD_CORPORATIVO_PESSOA_T,
              PESS_PESS_NM_PESSOA_T,
              GRAU_SATISFAÇÃO_T,
              DATA_HORA_ENVIO_PESSOA_T ,
              DATA_HORA_RESP_PESSOA_T
              
              
              ;
              
              
              
              
              LOAD
              TIPO_DE_PUBLICO_T,
              COD_EMPRESA,
              DATA_DO_CHAMADO_T,
              CODIGO_DO_CHAMADO_T,
              PROTOCOLO_T,
              MANIFESTACAO_T,
              GRUPO_MANIFESTACAO_T,
              TIPO_MANIFESTACAO_T,
              NM_FUNCIONARIO_ABRIU_T,
              NOME_FUNCIONARIO_T,
              AREA_FUNCIONARIO_T,
              AREA_ABRIU_T,
              DATA_CONCLUSAO_CHAMADO_T,
              PREVISAO_RESOLUCAO_T,
              FORMA_CONTATO_T,
              RAMAL_PESSOA_T,
              COD_CORPORATIVO_PESSOA_T,
              PESS_PESS_NM_PESSOA_T,
              GRAU_SATISFAÇÃO_T,
              DATA_HORA_ENVIO_PESSOA_T,
              DATA_HORA_RESP_PESSOA_T,
              trim(DDD_PESSOA_T) AS DDD_PESSOA_T ,
              trim(TELEF_PESSOA_T) as TELEF_PESSOA_T
              
              
              
              
              
              
              
              
              
              
              
              
              

               

               

               

              Aqui está meu código, o trim já foi feito direto no momento da carga.

              O que acontece é que está aparecendo nulo/branco onde deveria estar aparecendo o telefone concatenado. Pois como no exemplo abaixo, todos tem o mesmo código do chamado, beneficiario, etc...

               

              Capturar.PNG

            • Re: Valores Nulos ou Espaços em branco
              MARIO SOARES

              Olá Laryssa;

              O campo TELEF_PESSOA_T, provavelmente está com um espaço vazio " ", que é considerado um caractere espaço, onde a função len() está trazendo 1

               

              Usando a função:

              Len(trim(TELEF_PESSOA_T))
              

              Retornará 0

               

              No script pode substituir os vazio por null():

              If(Len(TELEF_PESSOA_T)<>1,TELEF_PESSOA_T) As TELEF_PESSOA_T
              
                • Re: Valores Nulos ou Espaços em branco
                  Laryssa Alves

                  Mário,

                  Tentei isso, no Load Precedente (o de baixo), e não deu certo!

                    • Re: Valores Nulos ou Espaços em branco
                      MARIO SOARES

                      Estranho, fiz um teste aqui para verificar e funcionou

                       

                      Tentou substituir

                      trim(TELEF_PESSOA_T) as TELEF_PESSOA_T 
                      

                       

                      Por este?

                      If(Len(TELEF_PESSOA_T)<>1,TELEF_PESSOA_T) As TELEF_PESSOA_T 
                      

                       

                       

                      Se Len(TELEF_PESSOA_T) está trazendo 1, logo a função acima tem que desconsiderar os registros com um caractere (que é o espaço no seu caso), ou está trazendo outro resultado diferente de 1 a função Len()?




                        • Re: Valores Nulos ou Espaços em branco
                          MARIO SOARES

                          Teste este no principal:

                           

                          If(Len(
                             concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' )
                            )<>1,
                            concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' )
                            ) As TELEF_PESSOA_T
                          
                          

                           

                          Vejo que está concatenando com espaço ' ', logo, parece que em alguns registros, tanto DDD_PESSOA_T quanto TELEF_PESSOA_T retornam Null, porém o espaço ' ' permanece no registro do campo.

                          • Re: Valores Nulos ou Espaços em branco
                            Laryssa Alves

                            Sim, faz sentido, era para funcionar...

                            Substitui sim, não funcionou. Tentei assim também:

                             

                            If(Len(DDD_PESSOA_T)<>1,DDD_PESSOA_T) As DDD_PESSOA_T,
                            If(Len(TELEF_PESSOA_T)<>1,TELEF_PESSOA_T) As TELEF_PESSOA_T
                            

                             

                            Não funcionou... Não muda em nada na tabela, traz os brancos contando 1 caractere.

                            Tudo no Load precedente ( o de baixo), e está na ordem correta o código que enviei.

                              • Re: Valores Nulos ou Espaços em branco
                                MARIO SOARES

                                Editei a expressão acima, veja se funciona.

                                • Re: Valores Nulos ou Espaços em branco
                                  MARIO SOARES

                                  Faz o seguinte, não concatena na PRINCIPAL, pois está com um Group By, concatena no final do script, e no principal, já traga com o campo tratado

                                    • Re: Valores Nulos ou Espaços em branco
                                      MARIO SOARES

                                      Segue:

                                       

                                      [TABELA PRINCIPAL]: 
                                      LOAD 
                                        TIPO_DE_PUBLICO_T, 
                                        COD_EMPRESA, 
                                        timestamp(DATA_DO_CHAMADO_T) AS DATA_DO_CHAMADO_T, 
                                        Right(dayname(DATA_DO_CHAMADO_T),4) AS Ano_T, 
                                        MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS Mes_T, 
                                        CODIGO_DO_CHAMADO_T, 
                                        PROTOCOLO_T, 
                                        MANIFESTACAO_T, 
                                        GRUPO_MANIFESTACAO_T, 
                                        TIPO_MANIFESTACAO_T, 
                                        NM_FUNCIONARIO_ABRIU_T, 
                                        NOME_FUNCIONARIO_T, 
                                        AREA_FUNCIONARIO_T, 
                                        AREA_ABRIU_T, 
                                        timestamp(DATA_CONCLUSAO_CHAMADO_T) AS DATA_CONCLUSAO_CHAMADO_T, 
                                        dayname(PREVISAO_RESOLUCAO_T) AS PREVISAO_RESOLUCAO_T, 
                                        FORMA_CONTATO_T, 
                                        RAMAL_PESSOA_T, 
                                        COD_CORPORATIVO_PESSOA_T, 
                                        PESS_PESS_NM_PESSOA_T, 
                                        GRAU_SATISFAÇÃO_T, 
                                        timestamp(DATA_HORA_ENVIO_PESSOA_T) AS DATA_HORA_ENVIO_PESSOA_T , 
                                        timestamp(DATA_HORA_RESP_PESSOA_T) AS DATA_HORA_RESP_PESSOA_T, 
                                        TELEF_PESSOA_T 
                                      
                                        GROUP BY 
                                        TIPO_DE_PUBLICO_T, 
                                        COD_EMPRESA, 
                                        DATA_DO_CHAMADO_T, 
                                        CODIGO_DO_CHAMADO_T, 
                                        PROTOCOLO_T, 
                                        MANIFESTACAO_T, 
                                        GRUPO_MANIFESTACAO_T, 
                                        TIPO_MANIFESTACAO_T, 
                                        NM_FUNCIONARIO_ABRIU_T, 
                                        NOME_FUNCIONARIO_T, 
                                        AREA_FUNCIONARIO_T, 
                                        AREA_ABRIU_T, 
                                        DATA_CONCLUSAO_CHAMADO_T, 
                                        PREVISAO_RESOLUCAO_T, 
                                        FORMA_CONTATO_T, 
                                        RAMAL_PESSOA_T, 
                                        COD_CORPORATIVO_PESSOA_T, 
                                        PESS_PESS_NM_PESSOA_T, 
                                        GRAU_SATISFAÇÃO_T, 
                                        DATA_HORA_ENVIO_PESSOA_T , 
                                        DATA_HORA_RESP_PESSOA_T
                                      ; 
                                      
                                      LOAD 
                                        TIPO_DE_PUBLICO_T, 
                                        COD_EMPRESA, 
                                        DATA_DO_CHAMADO_T, 
                                        CODIGO_DO_CHAMADO_T, 
                                        PROTOCOLO_T, 
                                        MANIFESTACAO_T, 
                                        GRUPO_MANIFESTACAO_T, 
                                        TIPO_MANIFESTACAO_T, 
                                        NM_FUNCIONARIO_ABRIU_T, 
                                        NOME_FUNCIONARIO_T, 
                                        AREA_FUNCIONARIO_T, 
                                        AREA_ABRIU_T, 
                                        DATA_CONCLUSAO_CHAMADO_T, 
                                        PREVISAO_RESOLUCAO_T, 
                                        FORMA_CONTATO_T, 
                                        RAMAL_PESSOA_T, 
                                        COD_CORPORATIVO_PESSOA_T, 
                                        PESS_PESS_NM_PESSOA_T, 
                                        GRAU_SATISFAÇÃO_T, 
                                        DATA_HORA_ENVIO_PESSOA_T, 
                                        DATA_HORA_RESP_PESSOA_T, 
                                        If(Len( 
                                        concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) 
                                        )<>1, 
                                        concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) 
                                        ) As TELEF_PESSOA_T
                                      ;
                                      
                                        • Re: Valores Nulos ou Espaços em branco
                                          Laryssa Alves

                                          ERRO: Aggregation expressions required by GROUP BY clause .

                                          Deu certo por ai? Aqui coloquei certinho, mas deu esse erro.

                                          Tentei colocar no group by o campo telefone mas deu erro também.

                                            • Re: Valores Nulos ou Espaços em branco
                                              Márcio Rodrigo Campestrini

                                              Laryssa

                                               

                                              Retire o group By do primeiro load.

                                                • Re: Valores Nulos ou Espaços em branco
                                                  Laryssa Alves
                                                  [TABELA PRINCIPAL]: 
                                                  LOAD 
                                                    TIPO_DE_PUBLICO_T, 
                                                    COD_EMPRESA, 
                                                    timestamp(DATA_DO_CHAMADO_T) AS DATA_DO_CHAMADO_T, 
                                                    Right(dayname(DATA_DO_CHAMADO_T),4) AS Ano_T, 
                                                    MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS Mes_T, 
                                                    CODIGO_DO_CHAMADO_T, 
                                                    PROTOCOLO_T, 
                                                    MANIFESTACAO_T, 
                                                    GRUPO_MANIFESTACAO_T, 
                                                    TIPO_MANIFESTACAO_T, 
                                                    NM_FUNCIONARIO_ABRIU_T, 
                                                    NOME_FUNCIONARIO_T, 
                                                    AREA_FUNCIONARIO_T, 
                                                    AREA_ABRIU_T, 
                                                    timestamp(DATA_CONCLUSAO_CHAMADO_T) AS DATA_CONCLUSAO_CHAMADO_T, 
                                                    dayname(PREVISAO_RESOLUCAO_T) AS PREVISAO_RESOLUCAO_T, 
                                                    FORMA_CONTATO_T, 
                                                    RAMAL_PESSOA_T, 
                                                    COD_CORPORATIVO_PESSOA_T, 
                                                    PESS_PESS_NM_PESSOA_T, 
                                                    GRAU_SATISFAÇÃO_T, 
                                                    timestamp(DATA_HORA_ENVIO_PESSOA_T) AS DATA_HORA_ENVIO_PESSOA_T , 
                                                    timestamp(DATA_HORA_RESP_PESSOA_T) AS DATA_HORA_RESP_PESSOA_T, 
                                                    TELEF_PESSOA_T  ;
                                                  
                                                  
                                                  
                                                  LOAD 
                                                    TIPO_DE_PUBLICO_T, 
                                                    COD_EMPRESA, 
                                                    DATA_DO_CHAMADO_T, 
                                                    CODIGO_DO_CHAMADO_T, 
                                                    PROTOCOLO_T, 
                                                    MANIFESTACAO_T, 
                                                    GRUPO_MANIFESTACAO_T, 
                                                    TIPO_MANIFESTACAO_T, 
                                                    NM_FUNCIONARIO_ABRIU_T, 
                                                    NOME_FUNCIONARIO_T, 
                                                    AREA_FUNCIONARIO_T, 
                                                    AREA_ABRIU_T, 
                                                    DATA_CONCLUSAO_CHAMADO_T, 
                                                    PREVISAO_RESOLUCAO_T, 
                                                    FORMA_CONTATO_T, 
                                                    RAMAL_PESSOA_T, 
                                                    COD_CORPORATIVO_PESSOA_T, 
                                                    PESS_PESS_NM_PESSOA_T, 
                                                    GRAU_SATISFAÇÃO_T, 
                                                    DATA_HORA_ENVIO_PESSOA_T, 
                                                    DATA_HORA_RESP_PESSOA_T, 
                                                    If(Len( 
                                                    concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) 
                                                    )<>1, 
                                                    concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) 
                                                    ) As TELEF_PESSOA_T 
                                                  

                                                   

                                                  Retirei o Group by, deu erro desconhecido.

                                                • Re: Valores Nulos ou Espaços em branco
                                                  MARIO SOARES

                                                  Tem como me passar uma amostra dos dados do último Load com seus respectivos campos?

                                                  Para testar.

                                                    • Re: Valores Nulos ou Espaços em branco
                                                      MARIO SOARES

                                                      Porque está utilizando Group By?

                                                      Não vejo nenhuma função do tipo somar e contar....

                                                        • Re: Valores Nulos ou Espaços em branco
                                                          MARIO SOARES

                                                          Acredito que somente assim, já atenda:

                                                           

                                                          LOAD 
                                                            TIPO_DE_PUBLICO_T, 
                                                            COD_EMPRESA, 
                                                            timestamp(DATA_DO_CHAMADO_T) AS DATA_DO_CHAMADO_T, 
                                                            Right(dayname(DATA_DO_CHAMADO_T),4) AS Ano_T, 
                                                            MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS Mes_T, 
                                                            CODIGO_DO_CHAMADO_T, 
                                                            PROTOCOLO_T, 
                                                            MANIFESTACAO_T, 
                                                            GRUPO_MANIFESTACAO_T, 
                                                            TIPO_MANIFESTACAO_T, 
                                                            NM_FUNCIONARIO_ABRIU_T, 
                                                            NOME_FUNCIONARIO_T, 
                                                            AREA_FUNCIONARIO_T, 
                                                            AREA_ABRIU_T, 
                                                            timestamp(DATA_CONCLUSAO_CHAMADO_T) AS DATA_CONCLUSAO_CHAMADO_T, 
                                                            dayname(PREVISAO_RESOLUCAO_T) AS PREVISAO_RESOLUCAO_T, 
                                                            FORMA_CONTATO_T, 
                                                            RAMAL_PESSOA_T, 
                                                            COD_CORPORATIVO_PESSOA_T, 
                                                            PESS_PESS_NM_PESSOA_T, 
                                                            GRAU_SATISFAÇÃO_T, 
                                                            timestamp(DATA_HORA_ENVIO_PESSOA_T) AS DATA_HORA_ENVIO_PESSOA_T , 
                                                            timestamp(DATA_HORA_RESP_PESSOA_T) AS DATA_HORA_RESP_PESSOA_T, 
                                                            If(Len( 
                                                            concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) 
                                                            )<>1, 
                                                            concat(DISTINCT DDD_PESSOA_T&' '&TELEF_PESSOA_T, '/' ) 
                                                            ) As TELEF_PESSOA_T
                                                          ;
                                                          
                                                            • Re: Valores Nulos ou Espaços em branco
                                                              MARIO SOARES

                                                              Mantendo somente um Load conforme acima.

                                                              • Re: Valores Nulos ou Espaços em branco
                                                                Laryssa Alves

                                                                Então, eu tentei fazer assim, com um Load apenas... Não deu certo, abri um tópico aqui na comunidade essa semana, e me responderam com o código assim, com group by. Não sei o porquê do group by, mas foi o que deu "certo".

                                                                Ah, e quanto a amostra, infelizmente não posso enviar.

                                                                Eu realmente não faço idéia, de como resolver isso.

                                                                  • Re: Valores Nulos ou Espaços em branco
                                                                    Márcio Rodrigo Campestrini

                                                                    Laryssa

                                                                     

                                                                    Neste ponto acho que uma amostra dos dados é fundamental para dar continuidade.

                                                                    Leia o post do cleveranjos aqui na comunidade, Como obter ajuda? Leia antes de postar

                                                                    • Re: Valores Nulos ou Espaços em branco
                                                                      MARIO SOARES

                                                                      Qual erro que aparece com um só LOAD?

                                                                      Estou sentindo falta do FROM no final do Load, como este está carregando os dados?

                                                                        • Re: Valores Nulos ou Espaços em branco
                                                                          Laryssa Alves

                                                                          Este mesmo, inclusive foi você que me respondeu né...

                                                                          Estou vendo a possibilidade de disponibilizar um qvw embaralhado aqui... Mas desde já muito obrigada pela atenção e ajuda.

                                                                            • Re: Valores Nulos ou Espaços em branco
                                                                              MARIO SOARES

                                                                              Laryssa, mediante a questão do agrupamento dos telefones...

                                                                              Adaptei o sei script para te atender, segue:

                                                                               

                                                                              [TABELA PRINCIPAL]:   
                                                                              LOAD   
                                                                                TIPO_DE_PUBLICO_T,   
                                                                                COD_EMPRESA,   
                                                                                timestamp(DATA_DO_CHAMADO_T) AS DATA_DO_CHAMADO_T,   
                                                                                Right(dayname(DATA_DO_CHAMADO_T),4) AS Ano_T,   
                                                                                MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS Mes_T,   
                                                                                CODIGO_DO_CHAMADO_T,   
                                                                                PROTOCOLO_T,   
                                                                                MANIFESTACAO_T,   
                                                                                GRUPO_MANIFESTACAO_T,   
                                                                                TIPO_MANIFESTACAO_T,   
                                                                                NM_FUNCIONARIO_ABRIU_T,   
                                                                                NOME_FUNCIONARIO_T,   
                                                                                AREA_FUNCIONARIO_T,   
                                                                                AREA_ABRIU_T,   
                                                                                timestamp(DATA_CONCLUSAO_CHAMADO_T) AS DATA_CONCLUSAO_CHAMADO_T,   
                                                                                dayname(PREVISAO_RESOLUCAO_T) AS PREVISAO_RESOLUCAO_T,   
                                                                                FORMA_CONTATO_T,   
                                                                                RAMAL_PESSOA_T,   
                                                                                COD_CORPORATIVO_PESSOA_T,   
                                                                                PESS_PESS_NM_PESSOA_T,   
                                                                                GRAU_SATISFAÇÃO_T,   
                                                                                timestamp(DATA_HORA_ENVIO_PESSOA_T) AS DATA_HORA_ENVIO_PESSOA_T ,   
                                                                                timestamp(DATA_HORA_RESP_PESSOA_T) AS DATA_HORA_RESP_PESSOA_T,   
                                                                                If(Concat(Distinct TELEF_PESSOA_T)>1,Concat(Distinct TELEF_PESSOA_T, '/')) as 'TELEF_PESSOA_T'
                                                                                
                                                                                GROUP BY   
                                                                                TIPO_DE_PUBLICO_T,   
                                                                                COD_EMPRESA,   
                                                                                DATA_DO_CHAMADO_T,   
                                                                                CODIGO_DO_CHAMADO_T,   
                                                                                PROTOCOLO_T,   
                                                                                MANIFESTACAO_T,   
                                                                                GRUPO_MANIFESTACAO_T,   
                                                                                TIPO_MANIFESTACAO_T,   
                                                                                NM_FUNCIONARIO_ABRIU_T,   
                                                                                NOME_FUNCIONARIO_T,   
                                                                                AREA_FUNCIONARIO_T,   
                                                                                AREA_ABRIU_T,   
                                                                                DATA_CONCLUSAO_CHAMADO_T,   
                                                                                PREVISAO_RESOLUCAO_T,   
                                                                                FORMA_CONTATO_T,   
                                                                                RAMAL_PESSOA_T,   
                                                                                COD_CORPORATIVO_PESSOA_T,   
                                                                                PESS_PESS_NM_PESSOA_T,   
                                                                                GRAU_SATISFAÇÃO_T,   
                                                                                DATA_HORA_ENVIO_PESSOA_T ,   
                                                                                DATA_HORA_RESP_PESSOA_T  
                                                                              ;  
                                                                                
                                                                              LOAD   
                                                                                TIPO_DE_PUBLICO_T,   
                                                                                COD_EMPRESA,   
                                                                                DATA_DO_CHAMADO_T,   
                                                                                CODIGO_DO_CHAMADO_T,   
                                                                                PROTOCOLO_T,   
                                                                                MANIFESTACAO_T,   
                                                                                GRUPO_MANIFESTACAO_T,   
                                                                                TIPO_MANIFESTACAO_T,   
                                                                                NM_FUNCIONARIO_ABRIU_T,   
                                                                                NOME_FUNCIONARIO_T,   
                                                                                AREA_FUNCIONARIO_T,   
                                                                                AREA_ABRIU_T,   
                                                                                DATA_CONCLUSAO_CHAMADO_T,   
                                                                                PREVISAO_RESOLUCAO_T,   
                                                                                FORMA_CONTATO_T,   
                                                                                RAMAL_PESSOA_T,   
                                                                                COD_CORPORATIVO_PESSOA_T,   
                                                                                PESS_PESS_NM_PESSOA_T,   
                                                                                GRAU_SATISFAÇÃO_T,   
                                                                                DATA_HORA_ENVIO_PESSOA_T,   
                                                                                DATA_HORA_RESP_PESSOA_T,   
                                                                                DDD_PESSOA_T&' '&TELEF_PESSOA_T As 'TELEF_PESSOA_T'
                                                                              ;  
                                                                              
                                                                                • Re: Valores Nulos ou Espaços em branco
                                                                                  Laryssa Alves

                                                                                  Mario, bom dia!

                                                                                  Fiz o teste mas ele concatena sim, mas só alguns. Tem código de chamado que tem dois telefones e ele não concatena.

                                                                                  Quanto ao valor nulo, ele continua trazendo, aqui vai em anexo o qvw.

                                                                                  Obrigada, desde já!

                                                                                    • Re: Valores Nulos ou Espaços em branco
                                                                                      MARIO SOARES

                                                                                      Bom dia Laryssa;

                                                                                      Realizei algumas alterações no script, só não pude testar a carga, pois não tenho os QVDs;

                                                                                       

                                                                                      SET ThousandSep='.';
                                                                                      SET DecimalSep=',';
                                                                                      SET MoneyThousandSep='.';
                                                                                      SET MoneyDecimalSep=',';
                                                                                      SET MoneyFormat='R$ #.##0,00;-R$ #.##0,00';
                                                                                      SET TimeFormat='hh:mm:ss';
                                                                                      SET DateFormat='DD/MM/YYYY';
                                                                                      SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
                                                                                      SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
                                                                                      SET DayNames='seg;ter;qua;qui;sex;sáb;dom';
                                                                                      SET HidePrefix='%SK_';
                                                                                      
                                                                                      CHAMADOS:  
                                                                                      LOAD
                                                                                          COD_EMPRESA AS %SK_EMPRESA,  
                                                                                          COD_CORPORATIVO_PESSOA_T AS %SK_PESSOA,
                                                                                          CODIGO_DO_CHAMADO_T,    
                                                                                          timestamp(DATA_DO_CHAMADO_T) AS DATA_DO_CHAMADO_T,  
                                                                                          Right(dayname(DATA_DO_CHAMADO_T),4) AS Ano_T,  
                                                                                          MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS Mes_T,
                                                                                          TIPO_DE_PUBLICO_T,
                                                                                          PROTOCOLO_ANS_T,  
                                                                                          MANIFESTACAO_T,  
                                                                                          GRUPO_MANIFESTACAO_T,  
                                                                                          TIPO_MANIFESTACAO_T,  
                                                                                          NM_FUNCIONARIO_ABRIU_T,  
                                                                                          NOME_FUNCIONARIO_T,  
                                                                                          AREA_FUNCIONARIO_T,  
                                                                                          AREA_ABRIU_T,  
                                                                                          timestamp(DATA_CONCLUSAO_CHAMADO_T) AS DATA_CONCLUSAO_CHAMADO_T,  
                                                                                          dayname(PREVISAO_RESOLUCAO_T) AS PREVISAO_RESOLUCAO_T,  
                                                                                          FORMA_CONTATO_T,  
                                                                                          RAMAL_PESSOA_T,    
                                                                                          PESS_PESS_NM_PESSOA_T,  
                                                                                          GRAU_SATISFAÇÃO_T,  
                                                                                          timestamp(DATA_HORA_ENVIO_PESSOA_T) AS DATA_HORA_ENVIO_PESSOA_T,  
                                                                                          timestamp(DATA_HORA_RESP_PESSOA_T) AS DATA_HORA_RESP_PESSOA_T
                                                                                      FROM H:\Backup-14022017\QVDSTESTE\TABELAPRINCIPAL.qvd (qvd)  Where COD_EMPRESA = 21;
                                                                                      
                                                                                      
                                                                                      DIM_PESSOAS:
                                                                                      LOAD
                                                                                          COD_CORPORATIVO_PESSOA_T AS %SK_PESSOA,
                                                                                          COD_CORPORATIVO_PESSOA_T,
                                                                                          If(Concat(Distinct TELEF_PESSOA_T)>1,
                                                                                            Concat(Distinct TELEF_PESSOA_T, '/')) AS 'TELEF_PESSOA_T'
                                                                                          Group By COD_CORPORATIVO_PESSOA_T;
                                                                                      LOAD
                                                                                        COD_CORPORATIVO_PESSOA_T,  
                                                                                        DDD_PESSOA_T&' '&TELEF_PESSOA_T AS 'TELEF_PESSOA_T'
                                                                                      FROM H:\Backup-14022017\QVDSTESTE\TABELAPRINCIPAL.qvd (qvd) Where Exists(COD_EMPRESA);
                                                                                      
                                                                                      
                                                                                      DIM_EMPRESAS:
                                                                                      LOAD DISTINCT
                                                                                        COD_EMPRESA AS %SK_EMPRESA,
                                                                                        COD_EMPRESA,
                                                                                        DESC_EMPRESA
                                                                                      FROM
                                                                                      [H:\Backup-14022017\QVDSTESTE\EMPRESAS.qvd] (qvd) Where Exists(COD_EMPRESA);
                                                                                      
                                                                                      
                                                                                        • Re: Valores Nulos ou Espaços em branco
                                                                                          MARIO SOARES

                                                                                          Não sei porque a minha resposta ficou marcado "sendo moderado"

                                                                                           

                                                                                          Então segue em anexo

                                                                                            • Re: Valores Nulos ou Espaços em branco
                                                                                              MARIO SOARES

                                                                                              Como o Márcio falou, tem como otimizar, me atentei pouco para o seu caso, pois vejo que está iniciando e presei em não aumentar a complexidade nesta fase, porém recomendo observar as boas práticas;

                                                                                               

                                                                                              Melhorei mais um pouco o script,

                                                                                               

                                                                                              Versão: 2.3

                                                                                               

                                                                                              SET ThousandSep='.';    
                                                                                              SET DecimalSep=',';    
                                                                                              SET MoneyThousandSep='.';    
                                                                                              SET MoneyDecimalSep=',';    
                                                                                              SET MoneyFormat='R$ #.##0,00;-R$ #.##0,00';    
                                                                                              SET TimeFormat='hh:mm:ss';    
                                                                                              SET DateFormat='DD/MM/YYYY';    
                                                                                              SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';    
                                                                                              SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';    
                                                                                              SET DayNames='seg;ter;qua;qui;sex;sáb;dom';    
                                                                                              SET HidePrefix='%SK_';    
                                                                                                
                                                                                              temp_CHAMADOS:      
                                                                                              LOAD    
                                                                                                  COD_EMPRESA AS '%SK_EMPRESA',      
                                                                                                  COD_CORPORATIVO_PESSOA_T AS '%SK_PESSOA',    
                                                                                                  CODIGO_DO_CHAMADO_T,        
                                                                                                  timestamp(DATA_DO_CHAMADO_T) AS 'DATA_DO_CHAMADO_T',      
                                                                                                  Right(dayname(DATA_DO_CHAMADO_T),4) AS 'Ano_T',      
                                                                                                  MID(DAYNAME(DATA_DO_CHAMADO_T),4,2) AS 'Mes_T',    
                                                                                                  TIPO_DE_PUBLICO_T,    
                                                                                                  PROTOCOLO_ANS_T,      
                                                                                                  MANIFESTACAO_T,      
                                                                                                  GRUPO_MANIFESTACAO_T,      
                                                                                                  TIPO_MANIFESTACAO_T,      
                                                                                                  NM_FUNCIONARIO_ABRIU_T,      
                                                                                                  NOME_FUNCIONARIO_T,      
                                                                                                  AREA_FUNCIONARIO_T,      
                                                                                                  AREA_ABRIU_T,      
                                                                                                  timestamp(DATA_CONCLUSAO_CHAMADO_T) AS 'DATA_CONCLUSAO_CHAMADO_T',      
                                                                                                  dayname(PREVISAO_RESOLUCAO_T) AS 'PREVISAO_RESOLUCAO_T',      
                                                                                                  FORMA_CONTATO_T,      
                                                                                                  RAMAL_PESSOA_T,        
                                                                                                  PESS_PESS_NM_PESSOA_T,      
                                                                                                  GRAU_SATISFAÇÃO_T,      
                                                                                                  timestamp(DATA_HORA_ENVIO_PESSOA_T) AS 'DATA_HORA_ENVIO_PESSOA_T',      
                                                                                                  timestamp(DATA_HORA_RESP_PESSOA_T) AS 'DATA_HORA_RESP_PESSOA_T',  
                                                                                                  DDD_PESSOA_T&' '&TELEF_PESSOA_T AS 'TELEF_PESSOA_T'   
                                                                                              FROM H:\Backup-14022017\QVDSTESTE\TABELAPRINCIPAL.qvd (qvd)  Where COD_EMPRESA = 21;   
                                                                                                  
                                                                                              CHAMADOS:    
                                                                                              NoConcatenate LOAD  
                                                                                                  [%SK_EMPRESA],      
                                                                                                  [%SK_PESSOA],    
                                                                                                  CODIGO_DO_CHAMADO_T,        
                                                                                                  DATA_DO_CHAMADO_T,      
                                                                                                  Ano_T,      
                                                                                                  Mes_T,    
                                                                                                  TIPO_DE_PUBLICO_T,    
                                                                                                  PROTOCOLO_ANS_T,      
                                                                                                  MANIFESTACAO_T,      
                                                                                                  GRUPO_MANIFESTACAO_T,      
                                                                                                  TIPO_MANIFESTACAO_T,      
                                                                                                  NM_FUNCIONARIO_ABRIU_T,      
                                                                                                  NOME_FUNCIONARIO_T,      
                                                                                                  AREA_FUNCIONARIO_T,      
                                                                                                  AREA_ABRIU_T,      
                                                                                                  DATA_CONCLUSAO_CHAMADO_T,      
                                                                                                  PREVISAO_RESOLUCAO_T,      
                                                                                                  FORMA_CONTATO_T,      
                                                                                                  RAMAL_PESSOA_T,        
                                                                                                  PESS_PESS_NM_PESSOA_T,      
                                                                                                  GRAU_SATISFAÇÃO_T,      
                                                                                                  DATA_HORA_ENVIO_PESSOA_T,      
                                                                                                  DATA_HORA_RESP_PESSOA_T    
                                                                                              Resident temp_CHAMADOS;    
                                                                                                  
                                                                                              DIM_PESSOAS:    
                                                                                              NoConcatenate LOAD  
                                                                                                   [%SK_PESSOA],  
                                                                                                   [%SK_PESSOA] AS 'COD_CORPORATIVO_PESSOA_T',    
                                                                                                   If(Concat(Distinct TELEF_PESSOA_T)>1,    
                                                                                                   Concat(Distinct TELEF_PESSOA_T, '/')) AS 'TELEF_PESSOA_T'    
                                                                                                   Group By [%SK_PESSOA];    
                                                                                              LOAD  
                                                                                                   [%SK_PESSOA],  
                                                                                                   TELEF_PESSOA_T   
                                                                                              Resident temp_CHAMADOS;     
                                                                                                
                                                                                              Drop Table temp_CHAMADOS;  
                                                                                                  
                                                                                              DIM_EMPRESAS:    
                                                                                              LOAD   
                                                                                                [%SK_EMPRESA],  
                                                                                                COD_EMPRESA,  
                                                                                                DESC_EMPRESA   
                                                                                              Where Exists([%SK_EMPRESA]);  
                                                                                              LOAD DISTINCT  
                                                                                                COD_EMPRESA AS '%SK_EMPRESA',  
                                                                                                COD_EMPRESA,  
                                                                                                DESC_EMPRESA  
                                                                                              FROM  [H:\Backup-14022017\QVDSTESTE\EMPRESAS.qvd] (qvd);
                                                                                              
                                                                                          • Re: Valores Nulos ou Espaços em branco
                                                                                            Márcio Rodrigo Campestrini

                                                                                            Laryssa

                                                                                             

                                                                                            Tente mudar o DISTINCT do telefone para o Load inicial no arquivo QVD. No load precedente deixe somente o concat.

                                                                                             

                                                                                            Outra coisa, não relacionada ao seu problema: se possível evite o uso do Preceding Load. Eu já havia observado, e depois verifiquei que o rwunderlich também escreveu sobre o assunto (veja aqui), que ele é (pelo menos hoje) mais lento que ler uma tabela em memória. Assim, passe o Preceding Load para um load em tabela normal residente.

                                                                  • Re: Valores Nulos ou Espaços em branco
                                                                    Márcio Rodrigo Campestrini

                                                                    Larissa, qual a ordem de Load?

                                                                    O seu post já mostra a ordem correta?

                                                                • Re: Valores Nulos ou Espaços em branco
                                                                  André Luis Pawlak

                                                                  Bom dia Larissa,

                                                                   

                                                                  Para teste de valor Nulo, tente utilizar o seguinte:

                                                                   

                                                                  If(Trim(TELEF_PESSOA_T) = '', 'NULO', If(isNull(COD_ESCRITORIO_VENDA), 'NULO', 'NAO E NULO')) AS TELEF_PESSOA_T.

                                                                   

                                                                  Espero que tenha ajudado.

                                                                   

                                                                  Atenciosamente

                                                                  André Luis Pawlak

                                                                  • Re: Valores Nulos ou Espaços em branco
                                                                    Márcio Rodrigo Campestrini

                                                                    Bom dia Laryssa

                                                                     

                                                                    Conseguiu resolver o seu problema?

                                                                    Se sim, marque a resposta final como correta para nos ajudar a manter a comunidade organizada.