Ir para conteúdo
  • 0

SOMARPRODUTO DE MATRIZ NO POWER BI


vinicius.brandao
Ir para solução Solucionado por Renato Carlos Rossato ,

Pergunta

  • Alunos

Estou com um problema de medidas dax, será que alguém pode me dar um help? Tenho duas colunas de valores "Forecast" e outra "Sales". Minha terceira coluna retorna um percentual que faço o seguinte calculo: Acuracia = 1-ABS(DIVIDE((_FORECAST -_SALES), _SALES)) As variáveis "_Forecast" e "_Sales", nada mais é que uma soma das colunas. Usando o exemplo do B88, que tem 3 itens dentro dele, preciso que no resultado do subtotal da linha B88 ele realize o cálculo "Leia o valor 17.003.200 e o 1.652.000 e os percentuais 92,62% e 99,34% e realize o calculo de média ponderada" Se eu aplico simplesmente um SUMX, ele não está considerando os percentuais dos itens abaixo, apenas 99,95% da própria linha de B88.

Accuracy_2 =
VAR _TST = SUMX('FATO Forecast','FATO Forecast'[Ini])
VAR _SALES = CALCULATE([Sales], FILTER('FATO Forecast','FATO Forecast'[DESC_MONTH_PERIOD] = "m"))
VAR _FORECAST = [Initial Forecast]
VAR _Acc_1 = IF(ISBLANK([Sales]) = FALSE(), 1-ABS(DIVIDE(_FORECAST -_SALES, _SALES)), BLANK())
VAR _FORMULA = SUMX('DIM SKU',
        ([Sales] * [Accuracy_1])) / [Sales]
VAR _ACCURACY =
    SWITCH(
        TRUE(),
        _FORECAST = 0 && _SALES > 0,0,
        _FORECAST > 0 && _SALES = 0,0,
        _FORECAST = 0 && _SALES = 0,_FORMULA,
        _FORECAST > (_SALES *2), 0,
        _FORMULA)
RETURN
IFERROR(_FORMULA,0)


image.png.8639ef3b284c73e12e1bbcf1e1fb774a.png

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá @vinicius.brandao, tenta utilizar o resultado desta media que postou aplicando um SUMX e usando um ISINSCOPE para preservar o contexto de SKU e aplicar a divisão e obter o % para os outros níveis, segue sugestão de medida:

Accuracy_2 - New = 

VAR _SALES = 
CALCULATE(
    [Sales - New]
    ,ALLSELECTED('DIM SKU'[SKU])
)

VAR _FORECAST = [Initial Forecast - New]

VAR _FORMULA =
DIVIDE(

        [Accuracy_1 - New] * [Sales - New]

    ,_SALES
)

VAR vResultado = 
SUMX(
    VALUES('DIM SKU'[SKU]),
    [Accuracy_1 - New] * [Sales - New]
)
RETURN
SWITCH(
    TRUE(),
    ISINSCOPE('DIM SKU'[SKU]), [Accuracy_1 - New],
    DIVIDE(vResultado,_SALES)
)

Assim ele deve fazer corretamente.

Espero ter ajudado.

  • Like 1
Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...