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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda con el cálculo de referencias circulares

Hola

Necesito realizar un cálculo difícil en mi modelo y parece que no puedo encontrar la respuesta a esto.

El contexto es:

Cada mes tengo un costo total, pero tengo un límite sobre cuánto puedo pagar, si el costo excede este límite tengo que llevar la diferencia al próximo mes.

El problema es que este cálculo me está dando el problema de referencia circular.

Ilustración del problema:

gfonteles94_0-1638133864963.png

El problema es que la fila roja actual hace referencia a la fila naranja anterior, que hace referencia a la fila roja anterior, no tengo idea de cómo resolver este problema en power bi.

¿Alguien puede ayudarme?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿@gfonteles94

¿Cuáles son sus columnas originales? Obtuve Mes, Costo, Límite solamente, luego 3 columnas Calculadas

Vera_33_0-1638146069244.png

Difference = 
VAR CurMonth = 'Table'[Month]
VAR T1=FILTER('Table','Table'[Month]<=CurMonth)
RETURN
SUMX(T1,[Cost]-[Limit])

Previous Month = 
MAXX(FILTER('Table','Table'[Month]=EDATE( EARLIER('Table'[Month]),-1)),[Difference])

Total = [Cost]+[Previous Month]

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

¿@gfonteles94

¿Cuáles son sus columnas originales? Obtuve Mes, Costo, Límite solamente, luego 3 columnas Calculadas

Vera_33_0-1638146069244.png

Difference = 
VAR CurMonth = 'Table'[Month]
VAR T1=FILTER('Table','Table'[Month]<=CurMonth)
RETURN
SUMX(T1,[Cost]-[Limit])

Previous Month = 
MAXX(FILTER('Table','Table'[Month]=EDATE( EARLIER('Table'[Month]),-1)),[Difference])

Total = [Cost]+[Previous Month]

gfonteles94_0-1638151984273.png

¡Funciona perfectamente! Acabo de incluir una declaración if sobre la diferencia para rendir '0' si es negativo, de esta manera no acumularemos valores negativos en la diferencia.

Si tienes tiempo, ¿podrías explicarme por qué funciona esto?

Estaba intentando usar Calculate(sum(difference, Filter (mes anterior)) y no funcionaba, dando el error circular

¿@gfonteles94

No tengo suficiente contexto para entender cómo calculaste todos los valores, ¿son todas columnas o medidas calculadas por DAX? ¿Ha comprobado si hay cierto valor como hacer referencia entre sí?

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.