Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
EdsonGomes
Frequent Visitor

Média Ponderada com Entrada é Saída.

Olá, tenho está tabela abaixo. E quero fazer uma média ponderada, olhando para entrada e saída.

 

IDStatusValueThe amount
1Input R$ 20,00 4
2Exit -4
3Input R$ 30,00 10
4Exit -5
5Input R$ 10,00 2
6Exit -2
7Input R$ 20,00 5
8Exit -1

 

Eu consigo fazer no Excel, segue exemplo abaixo.

https://vbamania-my.sharepoint.com/:x:/g/personal/ed_silva_vbamania_onmicrosoft_com/ETgYjbANOz9BuPcI... 

Quando eu coloco no Power BI fica aparecendo " dependência circular foi detectada"

 

Caso alguém consiga me ajudar, Obrigado 🙂

 

 

1 ACCEPTED SOLUTION

Boa tarde @EdsonGomes ,

 

Isto não é possível de atinguir em DAX uma vez que DAX não suporta calculos recorrentes, ou seja cálculos que utilizam na sua formula o valor anterior dessa mesma fórmula.

 

Isso poderá ser obtido através do Power Query, no entanto implica a criação de funções personalizadas.

.

 

https://www.thepoweruser.com/2019/07/01/recursive-functions-in-power-bi-power-query/

Veja o post abaixo


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

5 REPLIES 5
MFelix
Super User
Super User

Boa tarde @EdsonGomes 

 

Pode utilizar colunas calculadas ou medidas ver as duas soluções abaixo:

 

Colunas:

 

Balance = 
CALCULATE (
    SUM ( 'Table'[The amount] ),
    FILTER ( 'Table', 'Table'[ID] <= EARLIER ( 'Table'[ID] ) )
)

average = 
IF (
    'Table'[Status] = "Input",
    DIVIDE ( 'Table'[Value], 'Table'[Balance] ),
    CALCULATE (
        DIVIDE ( SUM ( 'Table'[Value] ), SUM ( 'Table'[Balance] ) ),
        FILTER ( 'Table', 'Table'[ID] = EARLIER ( 'Table'[ID] ) - 1 )
    )
)

 

MFelix_0-1631370305203.png

Medidas:

 

 

average Total = 
IF (
    SELECTEDVALUE('Table'[Status]) = "Input",
    DIVIDE ( SUM('Table'[Value]), [Balance Total]),
    CALCULATE (
        DIVIDE ( SUM ( 'Table'[Value] ), [Balance Total] ),
        FILTER ( ALL('Table'[ID], 'Table'[Status], 'Table'[Value]), 'Table'[ID] = MIN ( 'Table'[ID] ) - 1 )
    )
)

Balance Total = 
CALCULATE (
    SUM ( 'Table'[Amount] ),
    FILTER ( ALLSELECTED('Table'[ID],'Table'[Status],'Table'[Amount]), 'Table'[ID] <= MIN ( 'Table'[ID] ) )
)

 

 

MFelix_1-1631370620776.png

 

Ficheiro em anexo.

 

 


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Miguel, Obrigado por ajudar 🙂

 

Não resolveu.

Eu preciso que fique igual resultado do Excel, com todas as colunas.

 

[Saída)] = [Quantidade acumulada] * [Media Ponderada]

[Valor Acumulado] = Soma de Entrada e Saida.

[Media Ponderada] = [Valor Acumulado] / [Quantidade acumulada]

 

Em Excel é possivel, conforme exemplo.

Mais em Power Bi da erro: "dependência circular foi detectada"

 

 

Boa tarde @EdsonGomes ,

 

Isto não é possível de atinguir em DAX uma vez que DAX não suporta calculos recorrentes, ou seja cálculos que utilizam na sua formula o valor anterior dessa mesma fórmula.

 

Isso poderá ser obtido através do Power Query, no entanto implica a criação de funções personalizadas.

.

 

https://www.thepoweruser.com/2019/07/01/recursive-functions-in-power-bi-power-query/

Veja o post abaixo


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



rodrigosan
Resolver III
Resolver III

Oi @EdsonGomes , tudo bem contigo?
Gostaria de te ajudar nessa solução.

Você poderia me enviar seu contato no meu email: rodrigosantos2007@gmail.com

ok. Obrigado.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.