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

Múltiples totales acumulados para comparar diferentes años

Hola

Estoy tratando de crear una comparación de datos de 3 años basados en el mes completado más reciente. Creé 3 medidas [Ventas $],[Ventas $ LY] y [Ventas $ LLY] que calculan el total de ventas para el actual, anterior y hace 2 años. Todo funciona correctamente, ahora estoy tratando de crear un total acumulado para cada uno de esos períodos y ahí es donde me encuentro con un problema. Creé medidas [Ventas $ RT] que calculan el total acumulado basado en [Saled $], pero no puedo averiguar cómo obtener totales acumulados para [Ventas $ LY] y [Ventas $ LLY].

Aquí está el código para todas mis medidas.

-- [Sales $]
MEASURE [Sales $] = CALCULATE ( SUM ( SalesData[SaleLineTotal] ) )


-- [Sales $ RT]
MEASURE [Sales $ RT] = 
var MaxMonth = MAX('Dim - Date'[MonthOrdinal])
var Result = 
    CALCULATE(
            [Sales $],
            'Dim - Date'[MonthOrdinal] <= MaxMonth,
            REMOVEFILTERS('Dim - Date')
    )
RETURN Result

-- [Sales $ LY]
MEASURE [Sales $ LY] = 
VAR MaxMonth = [MaxMonthOrdinal] - 12
VAR Results =
    CALCULATE (
        [Sales $],
        REMOVEFILTERS ( 'Dim - Date' ),
        'Dim - Date'[MonthOrdinal] = MaxMonth
    )
RETURN
    Results
    
-- [Sales $ LLY]
MEASURE [Sales $ LLY] = 
VAR MaxMonth = [MaxMonthOrdinal] - 24
VAR Results =
    CALCULATE (
        [Sales $],
        REMOVEFILTERS ( 'Dim - Date' ),
        'Dim - Date'[MonthOrdinal] = MaxMonth
    )
RETURN
    Results


Cuando pongo datos en la tabla, veo datos correctos para [Sales $], [Sales $ LY] y [Sales $ RT]

VladyOselsky_0-1693407833364.png

Después de eso, cambio al gráfico de líneas, lo que necesito que muestre el gráfico es 3 totales acumulados en lugar de solo 1.

VladyOselsky_1-1693407856887.png

Gracias

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Terminé resolviéndolo yo mismo. Perdí la cuenta de cuántas variaciones del DAX probé hasta que se me ocurrió la siguiente solución.

Para empezar, modifiqué mi tabla de calendario para crear grupos de años. Agregué la columna Rolling12Months que define cada año

VladyOselsky_0-1693418785982.png

Luego actualicé mi [Sales $ LY] y [Sales $ LLY] para usar Rolling12Month en lugar de MonthOrdinal,
Finalmente, para las medidas totales móviles, todas son iguales, excepto el total de ventas que llaman.

-- Sales Totals
MEASURE [Sales $] = CALCULATE ( SUM ( SalesData[SaleLineTotal] ) )

MEASURE [Sales $ LY] = 
VAR RY = [MinRollingYear] + 1
VAR Results =
    CALCULATE (
        [Sales $],
        REMOVEFILTERS ( 'Dim - Date' ),
        'Dim - Date'[Rolling12Month] = RY,
        VALUES ('Dim - Date'[MonthName])
    )
RETURN
    Results

MEASURE [Sales $ LLY] = 
VAR RY = [MinRollingYear] + 2
VAR Results =
    CALCULATE (
        [Sales $],
        REMOVEFILTERS ( 'Dim - Date' ),
        'Dim - Date'[Rolling12Month] = RY,
        VALUES ('Dim - Date'[MonthName])
    )
RETURN
    Results

-- Rolling Totals
MEASURE [Sales $ RT] = 
var MaxMonth = MAX('Dim - Date'[MonthOrdinal])
var Result = 
    CALCULATE(
            [Sales $],
            'Dim - Date'[MonthOrdinal] <= MaxMonth,
            REMOVEFILTERS('Dim - Date'),
            VALUES('Dim - Date'[Rolling12Month])
    )
RETURN Result

MEASURE [Sales $ RT LY] = 
var MaxMonth = MAX('Dim - Date'[MonthOrdinal])
var Result = 
    CALCULATE(
            [Sales $ LY],
            'Dim - Date'[MonthOrdinal] <= MaxMonth,
            REMOVEFILTERS('Dim - Date'),
            VALUES('Dim - Date'[Rolling12Month])
    )
RETURN Result

MEASURE [Sales $ RT LLY] = 
var MaxMonth = MAX('Dim - Date'[MonthOrdinal])
var Result = 
    CALCULATE(
            [Sales $ LLY],
            'Dim - Date'[MonthOrdinal] <= MaxMonth,
            REMOVEFILTERS('Dim - Date'),
            VALUES('Dim - Date'[Rolling12Month])
    )
RETURN Result

Para el resultado final finalmente obtuve por gráfico que estaba buscando.

VladyOselsky_1-1693419429371.png

Syndicate_Admin
Administrator
Administrator

-- [Ventas $ RT]
MEDIDA [Ventas $ RT] =
var MaxMonth = MAX('Dim - Date'[MonthOrdinal])
var Resultado =
CALCULAR(
[Ventas $],
'Dim - Date'[MonthOrdinal] <= MaxMonth,
REMOVEFILTERS('Dim - Date')
)
Resultado de RETURN

-- [Ventas $ LY RT]
MEDIDA [Ventas $ LY RT] =
VAR MaxMonth = MAX('Dim - Date'[MonthOrdinal]) - 12
Resultado VAR =
CALCULAR(
[Ventas $ LY],
'Dim - Date'[MonthOrdinal] <= MaxMonth,
REMOVEFILTERS('Dim - Date')
)
Resultado de RETURN

-- [Ventas $ LLY RT]
MEDIDA [Ventas $ LLY RT] =
VAR MaxMonth = MAX('Dim - Date'[MonthOrdinal]) - 24
Resultado VAR =
CALCULAR(
[Ventas $ LLY],
'Dim - Date'[MonthOrdinal] <= MaxMonth,
REMOVEFILTERS('Dim - Date')
)
Resultado de RETURN

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.