March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe 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
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")),""))
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!