Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Hierarquia para estrutura de produto

Bom dia,

Estou tentando demonstrar a estrutura de produto em níveis no Qlik Sense, usando o comando de hierarquia, mas estou tento dificuldades, encontrei vários modelos na comunidade, mas mesmo assim não estou conseguindo montar, talvez meu banco de dados não esteja correto.

Estou buscando a informação diretamente do banco de dados, e ela vem assim:

    CD_ITEM_PAI,

    SQ_ESTRUTURA,

    CD_ITEM_FILHO,

    QT_LIQUIDA,

    QT_BRUTA,

entre outros campos, mas esses são os que preciso (não tem na tabela a descrição dos itens, apenas os códigos).Em anexo a tela com os dados como vem do banco de dados. Onde o código pai é o 010200, composto pelo  100696, que é composto por vários itens, 000227, 000231....


estou usando esta fórmula da hierarquia:

Hierarchy( CD_ITEM_FILHO,CD_ITEM_PAI, QT_LIQUIDA, , CD_ITEM_FILHO, CAMINHO, ' \ ', NÍVEL)

mas não está montando os níveis. fica somente com um nível, o 010200 composto pelo 100696, e para aí, não desce mais um nível.

Como se trata de uma estrutura de produto (ficha técnica) preciso que as quantidade estejam na tabela.

Já li esses arquivos, mas ainda não consegui.

Hierarchy in QlikView

How to make Hierarchy In Qlikview

Hierarchy function easy and Efficient with example---

Nível Ficha Técnica

Hierarchy issue

Além do Qlik Help

Desde já agradeço a ajuda!

Nara

Labels (1)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Nara, te ajuda assim?

Nao foi feito os calculos de qtde de pai para filho......

QlikView x64 - [C__tmp_Hierarquia.qvw]---2017-12-23 19_48_20.png


Tmp:

LOAD

     CD_ITEM_FILHO

FROM (ooxml, embedded labels, table is Banco);


Item_Pai:

LOAD

     CD_ITEM_PAI,

     CD_ITEM_FILHO as CD_ITEM_FILHO_1,

     QT_LIQUIDA,

     QT_BRUTA

FROM (ooxml, embedded labels, table is Banco)

Where not Exists(CD_ITEM_FILHO,CD_ITEM_PAI);

//

DROP Table Tmp;


For A=1 to 5

    Let B = $(A) +1;

left join (Item_Pai)

LOAD

      CD_ITEM_PAI as CD_ITEM_FILHO_$(A),

      CD_ITEM_FILHO as CD_ITEM_FILHO_$(B),

      num#(QT_LIQUIDA) as QT_LIQUIDA_$(A),

      num#(QT_BRUTA) as QT_BRUTA_$(A)

FROM (ooxml, embedded labels, table is Banco);

next



furtado@farolbi.com.br

View solution in original post

10 Replies
pablolabbe
Luminary Alumni
Luminary Alumni

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Nara,

podes mandar uma base exemplo desta estrutura?

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Bom dia,

Estou anexando uma planilha do excel, onde na primeira aba estão os dados como vêm do banco de dados, e na seguinte a hierarquia deste item.

Desde já obrigada pela ajuda.

srchagas
Creator III
Creator III

Esquero que isso ajude

Anonymous
Not applicable
Author

Bom dia Tiago,

Obrigada pela resposta, mas o que não estou conseguindo fazer, que talvez seja simples, mas eu não estou conseguindo, é como tratar os dados, uma vez que a estrutura não está vindo no sistema de uma forma "organizada" para usar a hierarquia, ou seja, não tenho o item pai como pai (no excel anterior, deixei uma tabela da forma que ele vem do banco de dados) O item Pai vem vinculado ao item filho, não tendo um "espaço em branco" como você montou no Qvw, onde, o item pai, na primeira linha, não tem um filho vinculado (CD_FILHO em branco) . Outra informação que não tenho é Nível, então está difícil montar..

Novamente, talvez seja a minha inexperiência, mas não vou desistir.

Novamente obrigada pela resposta

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Nara, te ajuda assim?

Nao foi feito os calculos de qtde de pai para filho......

QlikView x64 - [C__tmp_Hierarquia.qvw]---2017-12-23 19_48_20.png


Tmp:

LOAD

     CD_ITEM_FILHO

FROM (ooxml, embedded labels, table is Banco);


Item_Pai:

LOAD

     CD_ITEM_PAI,

     CD_ITEM_FILHO as CD_ITEM_FILHO_1,

     QT_LIQUIDA,

     QT_BRUTA

FROM (ooxml, embedded labels, table is Banco)

Where not Exists(CD_ITEM_FILHO,CD_ITEM_PAI);

//

DROP Table Tmp;


For A=1 to 5

    Let B = $(A) +1;

left join (Item_Pai)

LOAD

      CD_ITEM_PAI as CD_ITEM_FILHO_$(A),

      CD_ITEM_FILHO as CD_ITEM_FILHO_$(B),

      num#(QT_LIQUIDA) as QT_LIQUIDA_$(A),

      num#(QT_BRUTA) as QT_BRUTA_$(A)

FROM (ooxml, embedded labels, table is Banco);

next



furtado@farolbi.com.br
Anonymous
Not applicable
Author

Olá...

Funcionou exatamente como eu precisava... muito obrigada pelo "Presente de Natal"!!!

Anonymous
Not applicable
Author

Olá..

Desculpe abusar de sua ajuda, mas estou tentando ajustar as quantidades, e realmente concluí que meus conhecimentos são muito limitados para isso, pode me ajudar?

Muito obrigada.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Teoricamente, de um nível para outro teria que ir multiplicando.......

furtado@farolbi.com.br