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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Hacer división basada en varios años

Hola a todos, me estoy topando con lo que pensé que era un problema simple, pero se convirtió en un evento de varias horas de mi código DAX que no funciona. Voy a tratar de mantenerlo simple en lo que estoy tratando de hacer.

Tengo 2 columnas que estoy tratando de dividir, por simplicidad, simplemente las llamaré A y B.
Tengo otra columna de fecha con año en ella. El año es muy simple, tiene de 2021 a 2018.

Lo que estoy tratando de hacer en pseudocódigo es sumar todo de A y B solo para 2020-2018 y luego dividir A por B.

Cosas que he probado:

  • He probado CALCULATE, y esto funciona muy bien cuando lo hago durante 1 año, pero no todos los 3.
  • Mis años deben ser dinámicos, por lo que he estado usando YEAR(NOW())-1, -2 y -3 para 2020-2018, respectivamente.
  • He probado utilizando FILTRO en la 2.ª parte de calcular junto con &&para conseguir 3 años en, pero aquello no trabajo.

Estoy un poco perdido en este punto. Normalmente cuando hago un CALCULATE su en un solo filtro, o múltiples filtros de múltiples lugares, no el mismo filtro con diferentes opciones.

Hágamelo saber si puedo ayudar dando cualquier información adicional. Agradezco cualquier guía sobre esto, ¡gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿Has probado una expresión de medida como esta? Esto debería funcionar en una tarjeta. Si lo utiliza en una tabla/matriz u otro objeto visual, es posible que deba agregar otros términos a CALCULATE.

A dividido por B Anterior 3 años =
Var este año =
AÑO ( HOY ( ))
Var resultado =
calcular (
DIVIDE ( SUM ( Tabla[A] ), SUM ( Tabla[B] )),
Tabla[Año] >= este año - 3
&& Tabla[Año] <= este año - 1
)
devolución
resultado

palmadita

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

¿Has probado una expresión de medida como esta? Esto debería funcionar en una tarjeta. Si lo utiliza en una tabla/matriz u otro objeto visual, es posible que deba agregar otros términos a CALCULATE.

A dividido por B Anterior 3 años =
Var este año =
AÑO ( HOY ( ))
Var resultado =
calcular (
DIVIDE ( SUM ( Tabla[A] ), SUM ( Tabla[B] )),
Tabla[Año] >= este año - 3
&& Tabla[Año] <= este año - 1
)
devolución
resultado

palmadita

Gracias @mahoneypat

Esta lógica funcionó lo suficientemente bien como para permitirme continuar solucionando problemas. De hecho, estoy usando esto en una tabla. El resultado devuelve números ligeramente skrewed de lo que esperaría, pero esto no es un problema con la lógica de DAX.

¡Tan cerca, pero tan lejos!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.