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: 
Ribeiro
Specialist
Specialist

Criar um codigo novo para produto segunda linha.

Preciso criar uma junção para diferenciar através de um novo codigoProduto2.

Para que eu posso filtrar por ele igual o exemplo abaixo

o CodigoReferencial na mais é do que produto de linha diferente.

Sempre pelo menor do CodigoProduto.

Tabela Original

CodigoProdutoNomeProdutoClasseCodigoReferencial
4Produto4ELETROx4
5Produto5ELETROx1
1Produto1MOVEISx1
2Produto2MOVEISx2
3Produto3MOVEIS

x4

6Produto6BARx1
7Produto7BARx2

Tabela Nova(Exemplo de como eu gostaria que ficasse)

CodigoProdutoNomeProdutoClasseCodigoReferencialCodigoProduto2
4Produto4ELETROx43
5Produto5ELETROx11
1Produto1MOVEISx11
2Produto2MOVEISx22
3Produto3MOVEISx43
6Produto6BARx11
7Produto7BARx22
Neves
1 Solution

Accepted Solutions
Thiago_Justen_

Agnaldo,

De acordo com seu exemplo, bastaria o script para resolver:

Tabela:

Load * Inline [

CodigoProduto, NomeProduto, Classe, CodigoReferencial

4, Produto4, ELETRO, x4

5, Produto5, ELETRO, x1

1, Produto1, MOVEIS, x1

2, Produto2, MOVEIS, x2

3, Produto3, MOVEIS, x4

6, Produto6, BAR, x1

7, Produto7, BAR, x2

];

Left Join (Tabela)

Load

CodigoReferencial,

    Min(CodigoProduto) as CodigoProduto2

Resident Tabela Group By CodigoReferencial;

Resultado:

Capturar.PNG

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

9 Replies
Thiago_Justen_

Agnaldo,

De acordo com seu exemplo, bastaria o script para resolver:

Tabela:

Load * Inline [

CodigoProduto, NomeProduto, Classe, CodigoReferencial

4, Produto4, ELETRO, x4

5, Produto5, ELETRO, x1

1, Produto1, MOVEIS, x1

2, Produto2, MOVEIS, x2

3, Produto3, MOVEIS, x4

6, Produto6, BAR, x1

7, Produto7, BAR, x2

];

Left Join (Tabela)

Load

CodigoReferencial,

    Min(CodigoProduto) as CodigoProduto2

Resident Tabela Group By CodigoReferencial;

Resultado:

Capturar.PNG

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Ribeiro
Specialist
Specialist
Author

obrigado Thiago

Neves
Thiago_Justen_

Sempre à disposição meu caro!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Ribeiro
Specialist
Specialist
Author

Thiago qual sugestao voce taria para eu poder

fazer eu filtrar pela Classe que ele traga o dois

Exemplo: Seu chamar CodigoProduto2  2

Ele esta na Classe BAR E Moveis.

Gostaria também no exemplo acima criar mais uma coluna com a Classe pelo menor codigo.

Existe como eu também fazer mais uma linha como Classe 2

Neves
Thiago_Justen_

Rode o script:

Tabela:

Load * Inline [

CodigoProduto, NomeProduto, Classe, CodigoReferencial

4, Produto4, ELETRO, x4

5, Produto5, ELETRO, x1

1, Produto1, MOVEIS, x1

2, Produto2, MOVEIS, x2

3, Produto3, MOVEIS, x4

6, Produto6, BAR, x1

7, Produto7, BAR, x2

];

Left Join (Tabela)

Load

CodigoReferencial,

    Min(CodigoProduto)    as CodigoProduto2

Resident Tabela Group By CodigoReferencial;

Left Join (Tabela)

Load

CodigoReferencial,

    FirstSortedValue(Classe,CodigoProduto)    as Classe2

Resident Tabela Group By CodigoReferencial;

Resultado:

Teste.gif

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Ribeiro
Specialist
Specialist
Author

Thiago a ideia e esta Show

Mas eu acho que faltou algo

Quando mando ver a classe só aparece Classe2 'Moveis'

A ideia e que a classe2 também faça filtro para buscar os produtos referencial2

2018-08-23_10-28-32.png

Neves
Thiago_Justen_

Agnaldo,

Se entendi o requisito para classe2 te digo que está correto. Veja:

Classe2 = Classe do menor CodigoProduto por CodigoReferencial - certo?

Se está certo, vamos a diante:

CodigoReferencial x1-> Classe do menor CodigoProduto = MOVEIS - Portanto Classe2 = MOVEIS

5, Produto5, ELETRO, x1

1, Produto1, MOVEIS, x1

6, Produto6, BAR, x1


CodigoReferencial x2-> Classe do menor CodigoProduto = MOVEIS - Portanto Classe2 = MOVEIS

2, Produto2, MOVEIS, x2

7, Produto7, BAR, x2

CodigoReferencial x4-> Classe do menor CodigoProduto = MOVEIS - Portanto Classe2 = MOVEIS

4, Produto4, ELETRO, x4

3, Produto3, MOVEIS, x4


Logo, Classe2 só possui um valor possível nessa amostra que usamos.

Altere a classe do CodigoProduto 1 de MOVEIS para BAR, por exemplo, e veja que o script funciona.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Ribeiro
Specialist
Specialist
Author

Correto Thiago.

Obrigado Pela competência

Você é o cara velho...

Neves
Thiago_Justen_

Continuo às ordens meu nobre!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago