Dúvida com Campo Ca...
 
Notifications
Clear all

Dúvida com Campo Calculado - 2.0

9 Posts
3 Usuários
0 Reactions
3,911 Visualizações
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Prezados, boa tarde.
Eu abri um tópico com um exemplo fictício para ser resolvido, com minha dúvida viewtopic.php?f=22&t=9162 ...
Este, foi resolvido (com uma ótima sacada, diga-se de passagem), pelo Ninja Bernardo.

Então fui aplicar a solução no meu caso real de uso aqui.. e tudo estava indo bem.
Até que eu percebi uns detalhezinhos e outros.

De forma resumida do resumo resumido, o que eu estou tentando buscar, é a porcentagem que falta, para atingir uma meta.
E eu estou tentando através da planilha dinâmica. Pois são dados que serão gerados para um relatório mensal/anual.

Então, de fato, é necessário que seja gerado um calculo dinâmico perante isso.

No caso de uso, é necessário separar isto, por tipo de "item" (como chamei no exemplo).
Cada um possui uma meta a ser batida.

Refiz o exemplo, para se adequar melhor aqui nesta solução.

Aqui, chamo de ITEM, MOD_ITEM, META e STATUS.

Tenho muitos itens, que possuem vários modelos. E, estes modelos, tem uma meta para atingir, de acordo com cada status.
Eu escolhi, contar o STATUS entitulado como "X", para ver quantos porcentos faltam para este atingir a meta do MOD_ITEM.

Então, foi aplicado a mesma solução que o Bernardo sugeriu.
Criei duas novas colunas.
[[como este é um exemplo fictício, vamos supor que ele realize uma VENDA a cada registro. Imaginemos que o banco de dados registre apenas as vendas uma vez por linha.]]

Em RD, mantenho o valor "1" porque sempre será um registro por linha. Esse RD equivale a unidade do STATUS (e sempre será "1").

Em RD2, eu realizo a divisão da META, pela quantidade de Status por cada MOD_ITEM, incluindo o critério STATUS = "X". Percorrendo, assim, quantos MOD_ITEM temos com o STATUS = "X".

Trazendo isto para a planilha dinâmica, podemos ver que os valores de META batem exatamente com o valor da soma de RD2, bem como, a contagem de STATUS X equivale exatamente ao valor da soma de RD, por MOD_ITEM.

O que eu procuro é um campo calculado que realize a divisão de Contagem de STATUS e META (contagemSTATUS/META), trazendo assim, a porcentagem que falta para atingir a meta.

Mas, por que diabos criou-se RD e RD2?

Porque, simplesmente, criar um campo calculado dividindo STATUS por META, da errado por diversos fatores, como:- CONT.VALORES(STATUS) só faz a contagem de uma unidade.
- META, por si só, é multiplicada pela quantidade de vezes que teve um registro (contagem de STATUS)
- CONT.VALORES(STATUS)/META tratá a relação 1/(contagemSTATUS)*META o que nunca dará certo.
- Dessa forma, o RD funcionará como o CONT.VALORES(STATUS), trazendo o resultado como soma.
- o RD2, é a relação CONT.VALORES(STATUS)/META.
- Note que esses valores RD e RD2 são referentes a cada ocorrência de MOD_ITEM.
- Então, jogando-os para a planilha dinâmica, é feita uma contagem de dados/soma desses valores e sempre resultará no valor real deles. Certo? Certo. Mas, depende. E eis o problema.

Quando filtramos a tabela dinâmica com os valores que precisamos e referenciamos o mês/ano, acontece o problema. A dinâmica não soma os valores de RD2 corretamente, e eu não consegui identificar o motivo. Porque em alguns casos funcionam e em outros, não.
Logo, a fórmula inserida no campo calculado RD/RD2 não trará os resultados esperados quando realizarmos as filtragens.

Segue o arquivo em anexo para melhor visualização do problema. E, consultar o tópico anterior também é valido.
=)

 
Postado : 13/09/2013 11:43 am
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Gente, ao preparar o documento aqui.. tive algumas idéias e coloquei-as em prática, dentro do modelo exemplo anterior.

Trago, a seguir uma solução viável encontrada.

A planilha, agora, trás o resultado esperado.

E, me resta uma dúvida a ser solucionada, perante isso.

Eu ainda não identifiquei o porque de acontecer o caso de não bater a soma de RD2 na planilha dinâmica.
Eu foquei mais em solução.
É porque, se filtrarem FEV de 2013, como mostrado, verão que algumas delas batem de exato. Outras, não.

Bem, eu deixei de utilizar a referencia de RD2 no campo calculado.

Pois ví que o bendito não faz a contagem de STATUS usando CONT.VALORES.
Mas, o filho da mãe soma a META, de acordo com quantas vezes ela apareceu nesse registro do filtro.

Logo, eu me utilizei apenas de RD.

RD, aqui, equivale a contagem de STATUS, por MOD_ITEM (de acordo com o status X)

então, eu forcei, na gambiarra, trazer o valor exato de META, idependente da filtragem, e dividir esse valor pela contagem de STATUS.
Ficou assim:
=RD/((RD/RD)/(RD/META))

Logo, deu 100% certo. (espero que eu não tenha perdido nenhum detalhe desta vez).

O que levanto, agora, para que possam me ajudar é, ...
existe a possibilidade de realizarmos a contagem de STATUS (visto que aqui ele funciona como texto) sem necessitar da criação de colunas auxiliares (como o RD).

Eu, sem querer, me desfiz do RD2, que era o "tchan" da solução anterior. E acredito até que era o mais complicado.
E, o RD, serve apenas como uma contagem de registros. Sempre é "1".
E, a função dele era pra ser uma contagem/soma, que trazia o mesmo resultado da contagem de STATUS padrão, da planilha dinâmica.

Queria saber se não é possível fazer essa contagem com os recursos do excel para realizar essa contagem automática.

 
Postado : 13/09/2013 12:08 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fala Vic7or,

Cara, não baixei a segunda planilha, mas vê se aqui já resolve seu problema...

Qualquer coisa da o grito.
Abraço

 
Postado : 13/09/2013 1:00 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Olá, Bernardo, tudo bom?
Desculpe a demora na resposta.
Estive em viagem aqui.
Na sexta mesmo, antes de ir embora, vi sua resolução mas fiquei confuso, não deu pra responder na hora.

Os serviços da Google estão fora *neste momento*.
Não consegui visualizar a função CONT.DINAMICO.

Ainda não consegui entender como funciona essa nova solução.
Mas, toda vez que eu troco a referencia na planilha dinâmica, essa contagem perde o valor.
E a coluna RD2 lá fora tem seus valores alterados.

Então, vi que esse CONT.DINAMICO pega os valores de referência do filtro da planilha dinamica MES/ANO/STATUS.
E faz os cálculos.
Porém, muitos deles retornam com erro e, se selecionamos "TUDO" em cada um deles. O valor em RD2 se torna zero (para cada registro).

O CONT.DINAMICO é:

=CONT.SES(FONTE!XEY:XEY;FONTE!XEY1;FONTE!XFD:XFD;'DIN. STATUS X'!$B$3;FONTE!XFB:XFB;'DIN. STATUS X'!$B$1;FONTE!XFC:XFC;'DIN. STATUS X'!$B$2)

É um parada muito interessante essa função que o Bernardo apresentou aí. Que eu não entendi! XD

Porque teve que ir até o final da planilha? =X
Será que é por isso que pesa tanto quando a gente vai e muda os filtros?

Mas porque será que tá dando erro quando a gente muda os filtros da planilha dinâmica?
Fiquei curioso, Bernardo. Heheh

Hm.
Do jeito que eu apresentei anteriormente, deu até certo.
Me desfiz do RD2.
Mas continuei com o RD porque não sei como poderia fazer uma contagem desses STATUS dentro do campo calculado.
Será que tem uma solução assim?
Daí a gente se desfaz do RD também e fica somente com a planilha em sua estrutura original.

 
Postado : 17/09/2013 1:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tranquilo...

Me manda a "última" planilha pra eu já fazer os ajustes direto nela... acho que dá pra melhorar isso...

Abraço

 
Postado : 17/09/2013 1:21 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

A "última" ? A última minha? xD
Aqui está, Bernardo.
=)
Dá uma olhada no jeito que fiz, sem usar a RD2.

=)

 
Postado : 17/09/2013 4:21 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fala Vic7or,

Cara, infelizmente não tem como reduzir mais... o RD1 terá de ficar, essa é uma das ilimitadas limitações da tabela dinâmica.

Você pode até ver que os campos da "lista de campos da tabela dinâmica" estão classificados em quatro campos:
• Filtro de Relatórios;
• Rótulos de Coluna;
• Rótulos de Linha; e
• Somatória (símbolo) de Valores.

Será sempre a soma dos valores. O que ela deixa fazer é somente formatar o campo para que mostre a quantidade, mas continua contendo a somatória na célula (é como uma célula com data, você pode formata-la para data, hora, moeda, porcentagem, e as mais diversas formatações de tipos diversos entre essas, mas no final das contas, a célula com a data de hoje não vai deixar de ser 41534 (17/09/2013) (ou 41534,9472 caso deseja inserir horas))

Seria como se na célula estivesse o valor 41534 mas que estivesse formatado para aparecer o dia (dd na formatação da célula) e você fazendo um cálculo usando a referencia dessa célula querendo que a fórmula considere 17 que é o número do dia, invés de 41534.

O que você está achando engraçado de aceitar o SOMA, mas não aceitar o CONT.VALORES, é que no final das contas o valor vai ser sempre um. Por exemplo... A META vai retornar 248.

No campo calculado da TD, vai fazer assim:
=SOMA(META) que será a mesma coisa de = SOMA(248) (a soma de apenas um número é ele mesmo) que vai retornar 248.

E da outra forma você colocaria assim:
=CONT.VALORES(META) que será a mesma coisa de = CONT.VALORES(248) (só tem um número ali) que vai retornar 1.

A única coisa que acredito ter como simplificar ali é essa sua fórmula, no lugar de RD/((RD/RD)/(RD/META)) você pode deixar como RD/(1/(RD/META)), afinal, todo número dividido por ele mesmo é 1.

Concluindo, ou essa pedra não tem leite ou você já tirou tudo.

Qualquer coisa da o grito.
Abraço

 
Postado : 17/09/2013 7:47 pm
(@rod1981)
Posts: 3
New Member
 

Pessoal, estive pensando !! Vou dar um exemplo para calculo de meta, em percentual o quanto faltará para ser atingida. Exemplo: Vamos supor que O Vendedor A tem uma meta de R$2500,00. Em Janeiro ele Vendeu 1890,00 e Fevereiro 2475,00. Então seria (2500/1890)-1*100=32,28% faltou 32,28% para atingir a meta no mês de janeiro ou (2500/2475)-1*100=1,01% para atingir a meta. Agora jogando isso para o problema da tabela seria campo calculado (meta/r2)-1*100.

 
Postado : 23/09/2013 8:25 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Desculpe a demora na resposta, Bernardo.

Sumi por um tempo da face da terra.

Eu passei a utilizar este método mesmo.
Foi tirado todo o leite de lá.
Heheh

 
Postado : 24/10/2013 11:35 am