Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
agnaldoneves
Valued Contributor

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
Tags (1)
1 Solution

Accepted Solutions
thiago_justen
Valued Contributor III

Re: Criar um codigo novo para produto segunda linha.

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
WhatsApp: 24 98152-1675
Skype: justen.thiago
9 Replies
thiago_justen
Valued Contributor III

Re: Criar um codigo novo para produto segunda linha.

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
WhatsApp: 24 98152-1675
Skype: justen.thiago
agnaldoneves
Valued Contributor

Re: Criar um codigo novo para produto segunda linha.

obrigado Thiago

thiago_justen
Valued Contributor III

Re: Criar um codigo novo para produto segunda linha.

Sempre à disposição meu caro!

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
agnaldoneves
Valued Contributor

Re: Criar um codigo novo para produto segunda linha.

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

thiago_justen
Valued Contributor III

Re: Criar um codigo novo para produto segunda linha.

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
WhatsApp: 24 98152-1675
Skype: justen.thiago
agnaldoneves
Valued Contributor

Re: Criar um codigo novo para produto segunda linha.

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

thiago_justen
Valued Contributor III

Re: Criar um codigo novo para produto segunda linha.

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
WhatsApp: 24 98152-1675
Skype: justen.thiago
agnaldoneves
Valued Contributor

Re: Criar um codigo novo para produto segunda linha.

Correto Thiago.

Obrigado Pela competência

Você é o cara velho...

thiago_justen
Valued Contributor III

Re: Criar um codigo novo para produto segunda linha.

Continuo às ordens meu nobre!

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