Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
pamelastephanie
New Contributor II

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!

Tags (1)
1 Solution

Accepted Solutions
pamelastephanie
New Contributor II

Re: Igornar TOTAIS em tabela dinâmica

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

6 Replies
thiago_justen
Valued Contributor III

Re: Igornar TOTAIS em tabela dinâmica

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
WhatsApp: 24 98152-1675
Skype: justen.thiago
pamelastephanie
New Contributor II

Re: Igornar TOTAIS em tabela dinâmica

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
Valued Contributor III

Re: Igornar TOTAIS em tabela dinâmica

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

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

Re: Igornar TOTAIS em tabela dinâmica

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

)

pamelastephanie
New Contributor II

Re: Igornar TOTAIS em tabela dinâmica

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

pamelastephanie
New Contributor II

Re: Igornar TOTAIS em tabela dinâmica

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