Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, boa tarde!
Minha app calcula quantidade de itens e seus respectivos valores em excesso ou falta, por loja.
Para exibir estes valores em gráfico tabela simples eu utilizo a opção SOMAR LINHAS.
Mas preciso que seja exibido em tabela dinâmica para o usuário expandir a nível de produto apenas caso queira.
Porém, quando mudo para dinâmica ele deixa de SOMAR LINHAS e exibe o TOTAIS, conforme imagem abaixo.
É possível ignorar esse totais e forçar um SOMATÓRIO DE LINHAS? Quando ele faz por TOTAIS, o valor é errado.
Ou então, é possível na tabela simples eu trazer somente os valores sem eu precisar incluir a dimensão de produto?
Poderiam me ajudar, por favor?
Segue qvw em anexo.
Obrigada!
Acho que a princípio consegui resolver usando AGGR.
if(
(SUM(AGGR(fabs(if((((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ) <= 0,
(((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ),0
)),FILIAL_NOME, %ID_PRODUTO, PRODUTO_NOME))) < 0,
0,
(SUM(AGGR(fabs(if((((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ) <= 0,
(((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ),0
)),FILIAL_NOME, %ID_PRODUTO, PRODUTO_NOME)))
)
Obrigada pela atenção, Thiago!!
Pamela, por uma limitação minha não consigo abrir seu qvw. Mas talvez isso seja útil:
Na sua expressão de OTB Excesso coloque o seguinte:
If(Dimensionality()=0,SUA_EXPRESSAO_PARA_OTB_EXCESSO
)
Thiago,
não funcionou, ficou nulo.
Só precisaria que na tabela dinâmica exibisse o valor que tá na tabela simples.
Ou que mesmo na tabela simples exibisse esse valor mesmo quando eu retirasse as dimensões ID_PRODUTO e PRODUTO_NOME
Qual a expressão usada para cálculo de OTB Excesso?
OTB Excesso
=fabs(if([Estoque Plan.] - [Estoque Loja] < 0,
[Estoque Plan.] - [Estoque Loja]
))
[ESTOQUE PLANEJADO]
Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, %ID_TEMPO={">=$(=Addmonths(max(%ID_TEMPO),-3))"}>}VENDA_NUM_ITENS) / Count({<%ID_TEMPO={">=$(=Addmonths(max(%ID_TEMPO),-3))"}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura)
[ESTOQUE LOJA]
(Sum( {<TEMPO_ANO= , TEMPO_DIA=, TEMPO_SEMANA=, TEMPO_MES= >} ESTOQUE_QUANTIDADE))
A expressão completa fica como:
=if(
((((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, %ID_TEMPO={">=$(=Addmonths(max(%ID_TEMPO),-3))"}>}VENDA_NUM_ITENS) / Count({<%ID_TEMPO={">=$(=Addmonths(max(%ID_TEMPO),-3))"}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura)
-
(Sum( {<TEMPO_ANO= , TEMPO_DIA=, TEMPO_SEMANA=, TEMPO_MES= >} ESTOQUE_QUANTIDADE))) <= 0,
(((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, %ID_TEMPO={">=$(=Addmonths(max(%ID_TEMPO),-3))"}>}VENDA_NUM_ITENS) / Count({<%ID_TEMPO={">=$(=Addmonths(max(%ID_TEMPO),-3))"}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura)
-
(Sum( {<TEMPO_ANO= , TEMPO_DIA=, TEMPO_SEMANA=, TEMPO_MES= >} ESTOQUE_QUANTIDADE)) , 0
)
Na tabela Simples, temos todos os produtos naquela loja.
Cada produto tem um valor CUE. Em VALOR OTB EXCESSO, por exemplo, pego a quantidade em OTB EXCESSO e multiplico pelo seu CUE. Assim, o total está ok (lembrando que utilizei o SOMATÓRIO DE LINHAS).
Porém, outro jeito de exibir esse gráfico sem ser a tabela dinâmica, seria trazer a tabela simples sem as dimensões de produto mas trazendo o mesmo somatório, então tentei um AGGR, pra ele agregar e somar indivualmente por produto e me trazer o total, mas não deu certo.
SUM ( AGGR ( [OTB excesso] * max({<VENDA_NUM_ITENS={1}>}VENDA_VALOR_CUSTO_VENDA_CUE), SEGMENTO, REPRESENTANTE))
Acho que a princípio consegui resolver usando AGGR.
if(
(SUM(AGGR(fabs(if((((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ) <= 0,
(((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ),0
)),FILIAL_NOME, %ID_PRODUTO, PRODUTO_NOME))) < 0,
0,
(SUM(AGGR(fabs(if((((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ) <= 0,
(((Sum ({<VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}, TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}>}VENDA_NUM_ITENS) / Count({<TEMPO_MES_ANO={">=$(=Addmonths(max(TEMPO_MES_ANO),-3))"}, VENDA_STCAPA={'Finalizado'}, TIPO_OPERACAO_NOME-={'Dev.NF'}>}distinct %ID_TEMPO))*(1+vQtde/100)) *vCobertura) - (Sum(ESTOQUE_QUANTIDADE) ),0
)),FILIAL_NOME, %ID_PRODUTO, PRODUTO_NOME)))
)
Obrigada pela atenção, Thiago!!