Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia comunidade.
Estou com a seguinte questão que já quebrei a cabeça aqui e agora estou com dois problemas, um é a dor de cabeça e a outra não ter conseguido resolver e por isso estou aqui.
O campo Total da Nota Fiscal, do gráfico do tipo tabela simples intitulado Emitente, é composto pela seguinte expressão (Valor no retângulo verde):
(Sum(VPROD_PROD) + Sum(VFRETE_PROD) + Sum(VIPI_TOT) + Sum(VICMSST_ICMS_DET)+ Sum(VSEG_TOT) + Sum(VOUTRO_TOT)) - VDESC_TOT
Os demais campos disponíveis neste objeto fazem parte da dimensão, conforme imagem abaixo.
O objeto gráfico do tipo pizza tem como dimensão a UF do Emitente e a expressão é quase a mesma, somente com uma diferença, que está em negrito:
((Sum(VPROD_PROD) + Sum(VFRETE_PROD) + Sum(VIPI_TOT) + Sum(VICMSST_ICMS_DET)+ Sum(VSEG_TOT) + Sum(VOUTRO_TOT)) - SUM(VDESC_TOT))
Na tabela simples, o valor do retângulo verde já foi homologado pelo cliente, entretanto se eu retirar o SUM() do valor do desconto (VDESC_TOT), o gráfico não é apresentado em sua totalidade, mas apenas quando uma chave de acesso da NFe é selecionada.
A pergunta é como resolver para que o cálculo do gráfico fique o mesmo da tabela?
Ola Savio,
Conforme o Rogerio comentou, o problema parece estar no valor desconto estar repetido para cada produto. Isso explicaria por que a formula sem agregacao funciona na tabela que possui os detalhes da nota e nao no grafico de pizza (nivel de granularidade menor e portanto multiplos valores para cada valor da dimensao).
Voce pode fazer o seguinte, agregar o valor de desconto para cada nota fiscal:
sum(aggr(avg(VDESC_TOT), COD_INFNFE))
Essa formula fara com que o desconto seja calculado ignorando as repeticoes para cada NF, como o aggr() precisa de uma funcao de agregacao usamos avg() ja que a media de um valor repetido e o proprio valor.
Para os demais valores a nivel de produto voce pode usar o sum() mesmo, a formula final ficaria assim:
(Sum(VPROD_PROD) + Sum(VFRETE_PROD) + Sum(VIPI_TOT) + Sum(VICMSST_ICMS_DET)+ Sum(VSEG_TOT) + Sum(VOUTRO_TOT)) - sum(aggr(avg(VDESC_TOT), COD_INFNFE))
Essa formula deve continuar mostrando o mesmo valor na tabela e corrigir o valor do grafico.
Abracos,
Cesar