@Diego_Flores essa é a medida que utilizei no exemplo que te enviei.
O que está comentado são partes dos códigos originais que não foram utilizados.
Dá uma comparada com a tua medida original.
Mas, em resumo, as comparações com desconto > 0 estavam causando problemas.
Desconto Proporcional por Item =
VAR Requisicao = MAX(F_req_manu[id])
VAR ValorDescontoRequisicao =
//IF(SELECTEDVALUE(F_req_manu[desconto_req])>0,
CALCULATE(
SUM(F_req_manu[desconto_req])/COUNTROWS(F_req_manu),
FILTER(ALL(F_req_manu),
F_req_manu[desconto_req]>0 && F_req_manu[id] = Requisicao)
)
VAR TotalValorItensRequisicao =
CALCULATE(SUM(F_req_manu[vl_total]), ALLEXCEPT(F_req_manu,F_req_manu[id]))
VAR ValorItemAtual = -- Valor unitário, menos dos itens com desconto = 0
IF(ValorDescontoRequisicao > 0,
SELECTEDVALUE(F_req_manu[valor_item]) ,0) -- Valor do item atual
// VAR QuantidadeItemAtual = IF(SELECTEDVALUE(F_req_manu[desconto_req])>0, -- Desconsidera itens com desconto = 0
// SELECTEDVALUE(F_req_manu[qtd_item]),0) -- Quantidade do item atual
VAR QuantidadeItemAtual = IF(ValorDescontoRequisicao > 0,
SELECTEDVALUE(F_req_manu[qtd_item]),0) -- Quantidade do item atual
VAR ValorTotalItemAtual = ValorItemAtual * QuantidadeItemAtual -- Valor total do item atual (valor * quantidade) -- Desconsidera itens com desconto = 0
-- Calcula o percentual que cada item representa do valor total da requisição
VAR perc_item_valor = DIVIDE(ValorTotalItemAtual, TotalValorItensRequisicao, 0)
-- Calcula o desconto proporcional por item
VAR desconto_por_item = DIVIDE(ValorDescontoRequisicao * ValorTotalItemAtual, TotalValorItensRequisicao, 0)
-- Calcula o valor total após aplicar o desconto
VAR vl_total = ValorTotalItemAtual - desconto_por_item
RETURN
vl_total