Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
junior_ehlke
Creator III
Creator III

Relacionamento recursivo

Boa tarde,

outro dia abri um Tópico Re: Re: Relacionamento em Cascata (ou algo assim) porém ainda continuo com dúvidas sobre o assunto.

Preciso de algum material ou exemplos sobre Relacionamento recursivo no Qlikview para eu aprender melhor sobre o assunto, pois minha necessidade inicial foi respondida no tópico anterior mas não consegui ir para frente. Caso necessário poderei postar a minha "nova" duvida sobre este projeto.

Labels (2)
17 Replies
junior_ehlke
Creator III
Creator III
Author

Bom dia ALESSANDRO FURTADO, muito obrigado por seu tempo em me ajudar,

desta forma que você fez eu também consegui, mas isso complica pois fazendo desta forma fixa eu terei que

calcular na mão todos os níveis, sendo que eu não sei quantos níveis possam existir. fico olhe como ficou o último cálculo:

(((qindd_qreceita3/indc_rendimento3)*qindd_qreceita2)/indc_rendimento2)*qindd_qreceita1 as Kg3

acham que é viável trabalhar desta forma?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Bom dia.

Não é viável não. Eu vou tentar te mandar com o FOR.

AMF

De: Hamilton Junior

Enviada em: quarta-feira, 19 de novembro de 2014 08:40

Para: ALESSANDRO FURTADO

Assunto: You have been mentioned by Hamilton Junior in Re: Re: Re: Re: Relacionamento recursivo in Qlik Community

<http://community.qlik.com/> Qlik Community

You have been mentioned

by Hamilton Junior <http://community.qlik.com/people/junior.ehlke?et=notification.mention> in Re: Re: Re: Re: Relacionamento recursivo in Qlik Community - View Hamilton Junior's reference to you <http://community.qlik.com/message/660464?et=notification.mention#660464>

furtado@farolbi.com.br
junior_ehlke
Creator III
Creator III
Author

Boa tarde, ainda estou tentando resolver esse relacionamento, pensei em trabalhar isso no SQL, talvez seja mais facil.

Fiz um codigo que ele me traz a receita, se tiver um produto que tambem seja uma receita ele me traz o numero 1 se nao, traz 0. Dessa forma eu sei se algum item é uma receita ou não, talvez se eu conseguir usar esta condição para sempre que for o numero 1, ele me trazer todos os itens, porém no SQL a consulta retorna mais de um valor por linha e da erro. Sem o banco não sei se vão conseguir entender, mas ta i o codigo

select

  c.indc_descricao,

  a.indd_cod1 as cod_receita,

  c.indc_prod_codigo as cod_receita_v,

  a.indd_cod2,

  Coalesce((select 1 as rec from industc b where a.indd_cod2=b.indc_prod_codigo and a.indd_unid_codigo=indc_unid_codigo),0) as Prod_e_receita,

  (select d.prod_descricao from produtos d where a.indd_cod2=d.prod_codigo) as descricao

from industd a inner join industc c on a.indd_cod1=c.indc_prod_codigo

where a.indd_unid_codigo='024' and c.indc_unid_codigo='024' and c.indc_prod_codigo='111457'

group by 1,2,3,4,5

order by 4;

receita.png

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Hamilton,

Hoje é terça e para mim parece sexta. Esta corrido, por isto não fiz o que falei que iria fazer......

Mas vou fazer....

AMF

De: Hamilton Junior

Enviada em: terça-feira, 25 de novembro de 2014 15:24

Para: ALESSANDRO FURTADO

Assunto: Re: - Relacionamento recursivo

<http://community.qlik.com/> Qlik Community

Relacionamento recursivo

reply from Hamilton Junior <http://community.qlik.com/people/junior.ehlke?et=watches.email.thread> in Qlik Brasil - View the full discussion <http://community.qlik.com/message/665299?et=watches.email.thread#665299>

furtado@farolbi.com.br
junior_ehlke
Creator III
Creator III
Author

hahaha eu ri aqui,

Obrigado Alessandro, enquanto isto vou estudando também.

junior_ehlke
Creator III
Creator III
Author

Então, apenas nada dar andamento no tópico que ainda esta aberto, hoje tive um avanço bem significativo com a recursividade em SQL (to achando que vai ser mais fácil do que no Qlikview.

Vou mandar o código direto do banco de dados apenas para informação:

Ainda estou pegando um produto fixo, porém estou conseguindo compreender a lógica e vai ficando mais fácil.

WITH RECURSIVE receitas (indd_cod1, indc_descricao, indd_cod2, indd_unid_codigo) AS

(

select

  indd_cod1,

  indc_descricao,

  indd_cod2,

  indd_unid_codigo

from industd , industc where indd_cod1=indc_prod_codigo and indd_unid_codigo='024' and indc_unid_codigo='024' and indc_prod_codigo='442984'

UNION ALL

select

  industd.indd_cod1,

  industc.indc_descricao,

  industd.indd_cod2,

  industd.indd_unid_codigo

from industd, industc

INNER JOIN receitas ON indd_cod2=indc_prod_codigo

where industd.indd_cod1=industc.indc_prod_codigo and industd.indd_unid_codigo='024' and industc.indc_unid_codigo='024'

)

select

  indd_cod1,

  indc_descricao,

  indd_cod2,

  prod_descricao,

  indd_unid_codigo,

  Coalesce((select 1 as rec from industc b where indd_cod2=b.indc_prod_codigo and indd_unid_codigo=indc_unid_codigo),0) as Prod_e_receita

FROM receitas, produtos where indd_cod2=prod_codigo and

Coalesce((select 1 as rec from industc b where indd_cod2=b.indc_prod_codigo and indd_unid_codigo=indc_unid_codigo),0) <> '1' ;

nicolett_yuri

Hamilton, ainda não consegui parar aqui para te ajudar, até porque sua dúvida requer um investimento de tempo maior, mas assim que tiver um tempo, quero tentar montar alguma coisa em qlikview para você. Se você conseguir fazer em SQL, perfeito! Acredito que ele tenha algumas funções melhores (mais fáceis) em relação a recursividade.

junior_ehlke
Creator III
Creator III
Author

Obrigado Yuri,

apenas por vocês estarem respondendo o tópico ja é um grande auxilio que recebo e você tem razao, toma muito tempo, eu estou praticamente estudando apenas isto, missão dada é missão cumprida hehe, então acredito que o SQL eu tenha entendido melhor a logica. Vamos ver pois AGORA que vou começar a parte difícil hehe