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.
¡Buenas tardes!
Soy relativamente nuevo en Power BI.
Tengo una rebanadora. Se construye en base a la tabla DebitSalesDateSlicer que tiene solo una columna [Período] con períodos de fecha personalizados: MTD, YTD, QTD.
También tengo una tabla con 2 columnas: Date y ActiveSales. Quiero calcular una medida FirstTablePrevPeriodSales basada en el valor de la segmentación de datos seleccionada por el usuario. Esta medida devuelve la suma de las ventas del mes anterior (PreviousMonthActiveSales) si el valor de la segmentación de datos seleccionada es MTD, la suma de las ventas del trimestre anterior (PreviousQuarterActiveSales) si el valor de la segmentación de datos seleccionada es QTD, etc.
El código está a continuación. ¿Cómo puedo corregir mi código para que funcione?
var PreviousMonthActiveSales :=
var PrevMonthYear = IF(MONTH(TODAY()) == 1, YEAR(TODAY())-1, YEAR(TODAY()))
var PrevMonth = IF(MONTH(TODAY()) == 1, 12, MONTH(TODAY()) - 1)
CALCULATE(
SUMX(FILTER('Sales',
YEAR('Sales'[Date]) = PrevMonthYear &&
MONTH('Sales'[Date]) = PrevMonth
),
'Sales'[ActiveSales]),
ALL('Sales'[Date])
)
var PreviousQuarterActiveSales :=
CALCULATE(
var PrevQuarterYear = IF(QUARTER(TODAY()) == 1, YEAR(TODAY())-1, YEAR(TODAY()))
var PrevQuarter = IF(QUARTER(TODAY()) == 1, 4, QUARTER(TODAY()) - 1)
SUMX(FILTER('Sales',
YEAR('Sales'[Date]) = PrevQuarterYear &&
QUARTER('Sales'[Date]) = PrevQuarter
),
'Sales'[ActiveSales]),
ALL('Sales'[Date])
)
var PreviousYearActiveSales :=
CALCULATE(
var PrevYear = YEAR(TODAY()) - 1
SUMX(FILTER('Sales',
YEAR('Sales'[Date]) = PrevYear
),
'Sales'[ActiveSales]),
ALL('Sales'[Date])
)
FirstTablePrevPeriodSales =
SWITCH
(
SELECTEDVALUE(DebitSalesDateSlicer[Period]),
"MTD", PreviousMonthActiveSales,
"QTD", PreviousQuarterActiveSales,
"YTD", PreviousYearActiveSales
)
@darkmetrics Quizás:
My Measure =
var PrevMonthYear = IF(MONTH(TODAY()) == 1, YEAR(TODAY())-1, YEAR(TODAY()))
var PrevMonth = IF(MONTH(TODAY()) == 1, 12, MONTH(TODAY()) - 1)
var PreviousMonthActiveSales :=
CALCULATE(
SUMX(FILTER('Sales',
YEAR('Sales'[Date]) = PrevMonthYear &&
MONTH('Sales'[Date]) = PrevMonth
),
'Sales'[ActiveSales]),
ALL('Sales'[Date])
)
var PrevQuarterYear = IF(QUARTER(TODAY()) == 1, YEAR(TODAY())-1, YEAR(TODAY()))
var PrevQuarter = IF(QUARTER(TODAY()) == 1, 4, QUARTER(TODAY()) - 1)
var PreviousQuarterActiveSales :=
CALCULATE(
SUMX(FILTER('Sales',
YEAR('Sales'[Date]) = PrevQuarterYear &&
QUARTER('Sales'[Date]) = PrevQuarter
),
'Sales'[ActiveSales]),
ALL('Sales'[Date])
)
var PrevYear = YEAR(TODAY()) - 1
var PreviousYearActiveSales :=
CALCULATE(
SUMX(FILTER('Sales',
YEAR('Sales'[Date]) = PrevYear
),
'Sales'[ActiveSales]),
ALL('Sales'[Date])
)
FirstTablePrevPeriodSales =
SWITCH
(
SELECTEDVALUE(DebitSalesDateSlicer[Period]),
"MTD", PreviousMonthActiveSales,
"QTD", PreviousQuarterActiveSales,
"YTD", PreviousYearActiveSales
)
RETURN
FirstTablePrevPeriodSales
Gracias, ahora funciona.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |