Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia Pessoal,
Estou com um problema, na verdade quero otimizar tempo agora, e posteriormente para alguma manutenção.
Necessito criar um "Grid de Informações" onde elas devem ser apresentadas com as minhas marcas rankeadas do maior para o menor em uma coluna e na linha que corresponde a essa marca, apresente os produtos que a compõe rankeadas também do maior para o menor, exemplo:
Rank | Marca | Produto Rank1 | Produto Rank2 | Produto Rank3 | Produto Rank4 | Produto Rank5 |
---|---|---|---|---|---|---|
1 | A | A_A1 | A_B | A_C | ||
2 | B | B_A1 | B_C | B_D | B_B | B_E |
3 | C | C_A | C_C | C_B | ||
4 | D | D_D | D_A | D_C | D_B | |
5 | E | D_A |
Seria mais ou menos como no exemplo acima, só que na análise que devo fazer ele sempre vai pegar as informações referente ao ultimo ano, ou seja, se eu selecionar dez / 2016 ele ira verificar informações entre jan / 2016 e dez / 2016, ou selecioar jun / 2016 a analise seria entre jul / 2015 e jun / 2016.
Como não encontrei nenhum objeto que satisfaça minha necessidade, a solução que encontrei seria criar um Objeto de texto para cada grid do meu quadro, que ainda não sei quantas linas e coluna deve ter (ainda a definir com o usuário) visto essa necessidade irei precisar criar várias expressões, e para facilitar minha manutenção posteriormente pensei em carregar as expressões de um arquivo excel, mas ao carregar via script parte da minha expressão se perde, devido ao uso de $ dentro do set analysis
Expressao da coluna marca :
Concat(if(Aggr( rank((Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material=P(Marca_Material)>}Qtde_Reclamacoes_Fator))/(Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material=P(Marca_Material)>}Qtde_Vendidas)/1000000)),Marca_Material)=1,Marca_Material & Chr(10)))
Expressao da linha que corresponde a marca:
Concat(if(Aggr(num(rank((Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material={$(vr_Rank1)},Material=P(Material)>}Qtde_Reclamacoes_Fator))/(Sum({1< dt_inicio={'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material={$(vr_Rank1)},Material=P(Material)>}Qtde_Vendidas)/1000000),4,2)),Material)=1,Material&Chr(10)))
alguém tem alguma idéia de como posso melhorar a minha lógica de apresentar essas informações?
Existe uma "marretadinha" para incluir um $ em uma variável
Set var = SUM({<dt_inicio= {'>=&(=Monthstart(dt_inicio,-11))'}>}Qtde_Reclamacoes_Fator);
Let var = Replace('$(var)','&','$');
Existe uma "marretadinha" para incluir um $ em uma variável
Set var = SUM({<dt_inicio= {'>=&(=Monthstart(dt_inicio,-11))'}>}Qtde_Reclamacoes_Fator);
Let var = Replace('$(var)','&','$');
Deu certo Obrigado!
Obriado pela ajuda ontem, funcionou perfeitamente, mas aora surgiu uma outra dúvida enquando as minhas expressões: segue ->
a minha primeira expressao retorna as marcas (podendo ter marcas com nomes simples ("azeitona") e nomes compostos ("maça verde") - nomes ficticios), quanto ela retorna os nomes simples funciona perfeitamente na segunda expressão, onde ele me retorna o rank dos produtos dessa marca, agora quando retorna nome composto ele apresenta problema,
" Error: Garbage after expression: "verde" " pelos meus testes identifiquei problema na minha referencia para a variavel que busca o nome da marca "vr_Rank1" só que já tentei coloca entre aspas simples, duplas, etc... e não consegui consegue me ajudar? Obrigado!
Como é a expressão utilizada?
Bom dia Clever,
- Segue a expressão, o erro ocorre quando ele puxa o valor da variavel que está em negrito:
Concat(if(Aggr(num(rank((Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material={$(vr_Rank1)},Cod_Material=P(Cod_Material)>}Qtde_Reclamacoes_Fator))/(Sum({1< dt_inicio={'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material={$(vr_Rank1)},Cod_Material=P(Cod_Material)>}Qtde_Vendidas)/1000000),4,2)),Cod_Material)=1,Cod_Material&Chr(10)))
- o valor que a variavel recebe é gerada por essa expressão:
Concat(if(Aggr( rank((Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material=P(Marca_Material)>}Qtde_Reclamacoes_Fator))/(Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material=P(Marca_Material)>}Qtde_Vendidas)/1000000)),Marca_Material)=1,Marca_Material & Chr(10)))
Atenciosamente,
Rafael Mendes
Cola em um objeto texto e coloca o resultado aqui por favor
Concat(if(Aggr( rank((Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material=P(Marca_Material)>}Qtde_Reclamacoes_Fator))/(Sum({1< dt_inicio= {'>=$(=Monthstart(dt_inicio,-11))'},Unidada_Negocio=P(Unidada_Negocio),Marca_Material=P(Marca_Material)>}Qtde_Vendidas)/1000000)),Marca_Material)=1,Marca_Material & Chr(10)))
Opa, Obg pelo retorno, mas eu resolvi o problema comparando pelo código da Marca do Material que é unica, resolveu meu problema, Obrigado!