Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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 |
Tabela Nova(Exemplo de como eu gostaria que ficasse)
CodigoProduto | NomeProduto | Classe | CodigoReferencial | CodigoProduto2 |
4 | Produto4 | ELETRO | x4 | 3 |
5 | Produto5 | ELETRO | x1 | 1 |
1 | Produto1 | MOVEIS | x1 | 1 |
2 | Produto2 | MOVEIS | x2 | 2 |
3 | Produto3 | MOVEIS | x4 | 3 |
6 | Produto6 | BAR | x1 | 1 |
7 | Produto7 | BAR | x2 | 2 |
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:
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:
obrigado Thiago
Sempre à disposição meu caro!
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
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:
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
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.
Correto Thiago.
Obrigado Pela competência
Você é o cara velho...
Continuo às ordens meu nobre!