Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
luizclaudio
Contributor

Como eliminar referência circular

Bom dia pessoal

Estou trabalhando numa transição de sistemas e preciso fazer um comparativo entre duas bases. Porém essas bases estão estruturadas de forma diferente. Acontece que o Qlikview está identificando uma referência circular que preciso eliminar.

Isso pode ser feito utilizando a concatenação de campos?

Na tabela da esquerda estão os dados da nova base onde a chave Corretor_ID é a ligação com o cadastro (Clientes_Descr). Na direita está a base antiga onde a chave foi nomeada como VSCod_Legado (que também existe na Clientes_Descr)

Alguma dica de como fazer isso?

Em tempo: uso a versão personal, por isso preciso cuidar com arquivos de outros...rsrs

Assim, se puderem me dar a dica escrita, agradeço...

Abaixo da imagem coloquei o script para melhor entendimento

circular.png

OLEDB CONNECT TO ....................

// Dados dos corretores

SQL SELECT "Corretor_ID",

    "Cod_Legado" as VSCod_Legado,

    Corretor,

    IsNull(CodigoSocio,0) as CodigoSocio

FROM SINCOR.dbo.ClientesDescr;

// Carrega as Contribuições do Sabro

SQL SELECT "Processo_ID",

    "Corretor ID" as Corretor_ID,

    "Tipo Contribuicao",

    Exercicio,

//    Parcela,

    "Valor Contribuicao",

    "Data Vencimento",

    "Data Pagamento",

    "Valor Pago",

    Multa,

    Juros,

    Pago

FROM SINCOR.dbo."Contribuicoes Sabro_Qlik";

OLEDB CONNECT TO ................

// Carrega as Contribuições do VSincor

SQL SELECT "COR_CODIGO" as VSCod_Legado,

    "CAT_DESCRICAO" as Contribuição,

    Codigo as "Tipo Contribuição",

    AnoBase as Exercicio,

    Valor,

    ValorPago

    "Vencimento_Original",

    Vencimento,

//    Parcela,

    "COB_PAGAMENTO",

    "COB_RENEGOCIADA"

FROM DadosSincor.dbo."Contribuicoes VSincor_Qlik";

1 Solution

Accepted Solutions
rphpacheco
Contributor III

Re: Como eliminar referência circular

Assim:

[Dados dos corretores]:

SQL SELECT "Corretor_ID",

    "Cod_Legado" as VSCod_Legado,

    Corretor,

    IsNull(CodigoSocio,0) as CodigoSocio

FROM SINCOR.dbo.ClientesDescr;

[Contribuições do Sabro]:

SQL SELECT "Processo_ID",

    "Corretor ID" as Corretor_ID,

    "Tipo Contribuicao",

    Exercicio,

//    Parcela,

    "Valor Contribuicao",

    "Data Vencimento",

    "Data Pagamento",

    "Valor Pago",

    Multa,

    Juros,

    Pago

FROM SINCOR.dbo."Contribuicoes Sabro_Qlik";

[Contribuições do VSincor]:

SQL SELECT "COR_CODIGO" as VSCod_Legado,

    "CAT_DESCRICAO" as Contribuição,

    Codigo as "Tipo Contribuição",

    AnoBase as Exercicio,

    Valor,

    ValorPago

    "Vencimento_Original",

    Vencimento,

//    Parcela,

    "COB_PAGAMENTO",

    "COB_RENEGOCIADA"

FROM DadosSincor.dbo."Contribuicoes VSincor_Qlik";

Left Join ([Contribuições do Sabro]) LOAD

Corretor_ID,

Corretor,

CodigoSocio

Resident [Dados dos corretores];


Left Join ([Contribuições do VSincor]) LOAD

VSCod_Legado,

Corretor,

CodigoSocio

Resident [Dados dos corretores];


Drop Table [Dados dos corretores];

6 Replies
rphpacheco
Contributor III

Re: Como eliminar referência circular

Por que você apenas não realiza um Join da tabela de clientes nas demais e cria uma chave e depois realiza a ligação entre a Contribuições Sabro_Qlik e Contribuições VSincor_QLik apenas pelo Exercício?

luizclaudio
Contributor

Re: Como eliminar referência circular

Raphael,

Desculpe, mas não entendi como fazer isso...

rphpacheco
Contributor III

Re: Como eliminar referência circular

Assim:

[Dados dos corretores]:

SQL SELECT "Corretor_ID",

    "Cod_Legado" as VSCod_Legado,

    Corretor,

    IsNull(CodigoSocio,0) as CodigoSocio

FROM SINCOR.dbo.ClientesDescr;

[Contribuições do Sabro]:

SQL SELECT "Processo_ID",

    "Corretor ID" as Corretor_ID,

    "Tipo Contribuicao",

    Exercicio,

//    Parcela,

    "Valor Contribuicao",

    "Data Vencimento",

    "Data Pagamento",

    "Valor Pago",

    Multa,

    Juros,

    Pago

FROM SINCOR.dbo."Contribuicoes Sabro_Qlik";

[Contribuições do VSincor]:

SQL SELECT "COR_CODIGO" as VSCod_Legado,

    "CAT_DESCRICAO" as Contribuição,

    Codigo as "Tipo Contribuição",

    AnoBase as Exercicio,

    Valor,

    ValorPago

    "Vencimento_Original",

    Vencimento,

//    Parcela,

    "COB_PAGAMENTO",

    "COB_RENEGOCIADA"

FROM DadosSincor.dbo."Contribuicoes VSincor_Qlik";

Left Join ([Contribuições do Sabro]) LOAD

Corretor_ID,

Corretor,

CodigoSocio

Resident [Dados dos corretores];


Left Join ([Contribuições do VSincor]) LOAD

VSCod_Legado,

Corretor,

CodigoSocio

Resident [Dados dos corretores];


Drop Table [Dados dos corretores];

luizclaudio
Contributor

Re: Como eliminar referência circular

Show de bola, Raphael.

Funcionou redondinho... grato pela ajuda

Abraços e bom final de semana

rphpacheco
Contributor III

Re: Como eliminar referência circular

Opa! Bom final de semana para vc tmbm

Not applicable

Re: Como eliminar referência circular

Boa tarde!

Estou com o mesmo problema do Sr. Luis,  poderiam me ajudar ? rphpacheco

A tabela nova está à esquerda e que quero acrescentar às antigas da direita,  já tentei fazer ALIAS com nomes de campos diferentes mas deu referencia circular,  como posso interligar a tabela nova com as antigas ?

estou desesperado,  pois  estou tentando adicionar essa tabela de cursos da empresa ao fat. da empresa.

Obrigado quem puder ajudar e já agradeço!

tabelas-qlikview.png

os campos que consegui identificar da nova pra antiga são:

REFERENCIAS DE CAMPOS.png