Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Estoy tratando de crear una tabla en la que estoy restando los totales del año fiscal actual por mes por el mismo período del año pasado. Tenemos un retraso en nuestros datos y estamos viendo los datos uno o dos meses después de que ocurrió. A continuación se muestra exactamente cómo quiero que se vea el gráfico, excepto que el total es incorrecto. Sé que se debe a que está tratando abril, mayo y junio como $0 para este año fiscal actual menos los ingresos del año fiscal pasado. Pero no sé cómo solucionarlo. Todavía soy muy nuevo en PowerBI, así que todavía tengo mucho que aprender.
Difference =
VAR ReceiptsPriorYear =
CALCULATE(
sum(Receipts[Net Amount]),
PARALLELPERIOD(
'Calendar'[Date],
-12,MONTH))
VAR ReceiptsCurrentYear =
CALCULATE(
Sum(Receipts[Net Amount]))
RETURN
if((sum(Receipts[Net Amount])) <> 0,
CALCULATE(
(ReceiptsCurrentYear - ReceiptsPriorYear), DATESYTD('Calendar'[Date], "30/6")),"")
@ThisIsHalloween Primero, por favor, vota por esta idea: https://ideas.powerbi.com/ideas/idea/?ideaid=082203f1-594f-4ba7-ac87-bb91096c742e
Esto parece un problema de totales de medida. Muy común. Mira mi post al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376
Además, esta Medida Rápida, Totales de Medida, La Última Palabra debería darte lo que necesitas:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907
También: https://youtu.be/uXRriTN0cfY
Y: https://youtu.be/n4TYhF2ARe8
Le di una oportunidad a esto, pero sigue teniendo el mismo aspecto:
Difference =
VAR ReceiptsPriorYear =
CALCULATE(
sum(Receipts[Net Amount]),
PARALLELPERIOD(
'Calendar'[Date],
-12,MONTH))
VAR ReceiptsCurrentYear =
CALCULATE(
Sum(Receipts[Net Amount]))
RETURN
if(HASONEFILTER('Calendar'[FY]),IF(sum(Receipts[Net Amount]) <> 0,
CALCULATE(
(ReceiptsCurrentYear - ReceiptsPriorYear), DATESYTD('Calendar'[Date], "30/6")),""),
SUMX(
(filter
(Receipts, max('calendar'[fy]))),ReceiptsCurrentYear))
@ThisIsHalloween No lo implementaste correctamente. ReceiptsCurrentYear es una variable y las variables son estáticas, por lo que no estoy seguro de qué es exactamente lo que está sumando allí en ese último SUMX, pero será el mismo número, solo que repetido una y otra vez, lo que no puedo imaginar que sea correcto. La solución presentada muestra obtener una medida que se calcule correctamente en el nivel de fila individual y, a continuación, crear una segunda medida que devuelva esa medida en el nivel de fila y un SUMX de la medida en el nivel total.
Lo intenté de nuevo y los totales siguen sin ser correctos. ¿Dónde estoy estropeando la fórmula de hasonefilter?
Difference =
VAR RPY =
CALCULATE(
sum(Receipts[Net Amount]),
PARALLELPERIOD('Date'[Date],-12,month))
VAR RCY =
CALCULATE(
SUM(Receipts[Net Amount]))
RETURN
if(HASONEFILTER('Date'[FY]),
if(sum(Receipts[Net Amount]) <> 0,
CALCULATE(
(RCY - RPY), DATESYTD('Date'[Date], "30/6")), "0"))
Lo intenté, pero sin suerte en el cambio total. Esto es lo que usé:
Difference =
VAR ReceiptsPriorYear =
CALCULATE(
sum(Receipts[Net Amount]),
PARALLELPERIOD(
'Calendar'[Date],
-12,MONTH))
VAR ReceiptsCurrentYear =
CALCULATE(
Sum(Receipts[Net Amount]))
RETURN
if(HASONEFILTER('Calendar'[FY]),IF(sum(Receipts[Net Amount]) <> 0,
CALCULATE(
(ReceiptsCurrentYear - ReceiptsPriorYear), DATESYTD('Calendar'[Date], "30/6")),""))
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.