Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia!
Tenho a seguinte tabela e fiz os seguintes testes:
=len(TELEF_PESSOA_T)
=IF(IsNull(TELEF_PESSOA_T),'NULO', 'NÃO É NULO')
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:
Desde já, obrigada!
Editei a expressão acima, veja se funciona.
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
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
;
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.
Laryssa
Retire o group By do primeiro load.
Tem como me passar uma amostra dos dados do último Load com seus respectivos campos?
Para testar.
Porque está utilizando Group By?
Não vejo nenhuma função do tipo somar e contar....
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
;
[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.
Mantendo somente um Load conforme acima.