cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Total de carrera inesperado

¿Cómo puedo crear una suma en ejecución (acumulativa) de la columna C si la columna C = Columna A dividida por la columna B. El problema parece ser que cada vez que una función YTD o Calcular con <= fechas, recalcula el valor YTD para la columna A y YTD para la columna B y luego las divide, lo que en este caso no es lo mismo que una suma en ejecución de la columna C
extras: La columna A es una medida con SUM([Nombre de campo]), la columna B se mide con SUM([Nombre de campo]).

FechaColumna AColumna BColumna C

1/2020

7545961.63%
2/20206645961.44%
3/20206846121.47%
4/20205345951.15%
5/20204645531.01%
6/20208844941.96%
7/20207644371.71%
8/20208344061.88%
9/20207443941.68%
10/20208446201.82%
11/20208748411.80%
12/20207548231.56%
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@jbajon , Pruebe una medida como

calculate(sumx(values(Table[date]), calculate(divide(sum(Table[A]),Sum(Table[B])))), filter(AllSelected(Table), Table[date] <=max(Table[date])))

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

_Test 2 = 

var a = CALCULATE(SUM('Table'[Column A]),FILTER(ALL('Table'),'Table'[Date]<=MAX('Table'[Date])))
var b = MAXX('Table',MAX('Table'[Column B]))
Return 
DIVIDE(a,b)

Hola FarhanAhmed,

Gracias por su respuesta. Al intentar la solución, recibí un mensaje de error que MAX() solo acepta referencias de columna donde [Columna B] es realmente una medida en este ejemplo.

Syndicate_Admin
Administrator
Administrator

@jbajon , Pruebe una medida como

calculate(sumx(values(Table[date]), calculate(divide(sum(Table[A]),Sum(Table[B])))), filter(AllSelected(Table), Table[date] <=max(Table[date])))

View solution in original post

Hola amitchandak,

Pude alterar un poco su ejemplo para llegar a mi solución de trabajo final. La única diferencia que olvidé mencionar en mi proyecto real es que el año y el mes son dos campos diferentes (en lugar de combinarse en un campo) por razones de formato, por lo que agregué una condición de filtro adicional para que el valor en ejecución se reiniciara cada año.

Esto es lo que finalmente funcionó para mí:

calculate(sumx(values('DateTable'[FullDate]), [Column_C]), filter(allselected('DateTable'), 'DateTable'[FullDate_Year] = max('DateTable'[FullDate_Year]) && 'DateTable'[FullDate_Month#] <=max('DateTable'[FullDate_Month#])))

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

March Update

Check it Out!

Click here to read more about the March 2021 Updates!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.

secondImage

Experience what’s next for Power BI

See the latest Power BI innovations, updates, and demos from the Microsoft Business Applications Launch Event.

Top Kudoed Authors