Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Igornar TOTAIS em tabela dinâmica

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.

Simples.PNG

Dinâmica.PNG

É 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!

1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

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!!

View solution in original post

6 Replies
Thiago_Justen_

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 Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Anonymous
Not applicable
Author

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

Thiago_Justen_

Qual a expressão usada para cálculo de OTB Excesso?

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

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

)

Anonymous
Not applicable
Author

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))

Anonymous
Not applicable
Author

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!!