Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Caros,
Preciso juntar 2 tabelas temporárias onde uma representa contratos inativos em Jan e a outra os contratos inativos em Fev, o problema é que na Tabela de Fev temos contratos que já foram cancelados em Janeiro e não de veriam aparecer para o mês de Fev, nesta tabela deveríamos ter apenas os contratos que realmente foram cancelados em Fevereiro, mas a duplicidade ainda permanece, minha ideia era fazer uma junção entre as tabelas onde os contratos que já estivessem na tabela de JAN não fossem adicionados na tabela final para o mês de fevereiro.
Neste caso estou tentado fazer com o concatenate com where not exist porém continua trazendo os contratod que já foram cancelados em janeiro para o mês de fevereiro:
/*- SCRIPT Abaixo*\
TEMP_JAN:
NoConcatenate
LOAD
*
FROM
[P:\Doc_Rel\Tabelas\QVDS\Tier 1\Fact Data\CONTRATOS_M_2019.qvd]
(qvd)
WHERE DATA_ANULACAO >= '01/01/2019'
AND MES = 01;
TEMP_FEV:
NoConcatenate
LOAD
*
FROM
[P:\Doc_Rel\Tabelas\QVDS\Tier 1\Fact Data\CONTRATOS_M_2019.qvd]
(qvd)
WHERE DATA_ANULACAO >= '01/02/2019'
AND MES = 02;
TEMP_2019:
EMP_2019:
NoConcatenate
LOAD *
Resident TEMP_JAN;
JOIN
LOAD *
Resident TEMP_FEV
where not Exists(CH_APOLICE_DTINICIO,NPOLIZA);
DROP TABLES TEMP_JAN, TEMP_FEV;
EXIT SCRIPT;
Desculpe anexei o arquivo errado!!
Show. Agora sim hehe..
Exemplo:
Esse caso possui informação ANOMES de 201901 até 201912. Nesse caso, qual registro seria o correto manter e quais devem ser descartados?
Neste caso o que eu quero manter são os registros do ANOMES 201905, pois a data de anulação dele ocorreu em Maio, se houver mais de um para este mesmo mês não tem problema ele reprtir pois há outros campos que podem ser alterados, mas para os demais meses não precisam ser descartados.
Então a solução que lhe dei inicialmente resolve o problema, só que ao invés de você comparar o mês irá comparar o ano-mês.
A solução seria o seguinte:
Tabela: *
FROM
[P:\Doc_Rel\Tabelas\QVDS\Tier 1\Fact Data\CONTRATOS_M_2019.qvd](qvd)
WHERE
ANOMES = Date(DATA_ANULACAO, 'YYYYMM')
;Isso compara o Ano-Mês daquele registro com o que é gerado através da DATA_ANULACAO. Se forem iguais, mantém o registro, caso contrário, descarta.
Boa noite, estava analisando seu load e não identifiquei as colunas CH_APOLICE_DTINICIO,NPOLIZA já que você tem uma instrução de not Exists (CH_APOLICE_DTINICIO,NPOLIZA)
Tente posta seus dados de origem ou crie em Excel de dados de exemplo.
pelo pouco que consegui analisar de seu .qvf, você poderia concatenar tudo de filtrar no resident where.
temp_2019:
LOAD
campos //seuscampos
FROM
[C:\Users\Danilo\Downloads\jan.xlsx]
(ooxml, embedded labels, table is Document_TB01) where DATA_ANULACAO >= '01/01/2019' and MES = '01';
Concatenate(temp_2019)
LOAD
campos //seus campos
FROM
[C:\Users\Danilo\Downloads\fev.xlsx]
(ooxml, embedded labels, table is Document_TB01) where DATA_ANULACAO >= '01/01/2019' and MES = '02';
Danilo, estarei fora do escritório hoje, mas já postei uma amostra dos dados no histórico deste tópico. Se puder verificar eu lhe agradeço. Grato pela sua ajuda.