Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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?
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>
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;
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>
hahaha eu ri aqui,
Obrigado Alessandro, enquanto isto vou estudando também.
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' ;
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.
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