Últimos 12 meses DAX

Un usuario Pregunto ✅

BItoken

Hola,

Tengo una columna de Fecha que se acumula hasta el final del trimestre (Fecha) según la imagen adjunta y el Año fiscal correspondiente (Trimestre fiscal).

Tengo problemas para obtener los últimos 12 meses (o 4 trimestres) de la columna Ventas de los últimos 4 trimestres calculados en cada trimestre correspondiente.

Salida esperada de los últimos 12 meses: es lo que estoy buscando.

BItoken_0-1599859842042.png

Probé esta Declaración DAX

Últimos 12 meses = CALCULAR (SUMA ([Sales]), FECHAS EN PERIODO ([Date]),FIN DE MES([Date]),-4,TRIMESTRE))
Es posible que esto no funcione ya que la fecha se acumula hasta el nivel de trimestre.

Cualquier ayuda es muy apreciada.

amichandak

@BItoken, su fórmula parece correcta, necesita usar el máximo de fecha. Fin de mes no aplicará en tu caso

Últimos 12 meses = CALCULAR (SUMA (Tabla[Sales]), FECHAS EN PERIODO (Fecha[Date],Máx.(Fecha[Date]),-4,TRIMESTRE))

o

Últimos 12 meses = CALCULAR (SUMA (Tabla[Sales]), FECHAS EN PERIODO (Fecha[Date],Máx.(Tabla[Date]),-4,TRIMESTRE))

Utilice siempre la tabla de fechas. Como solución podría funcionar sin eso, pero creará problemas en el futuro.

Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista del modelo. Además, únelo con la columna de fecha de tu/s hecho/s. Referir:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Agradezco sus felicitaciones.

En respuesta a BItoken

Hola @BItoken,

creé un ejemplo de archivo pbix para usted, compruebe si eso es lo que quiere.

1. Crea un columna calculada a ordenar por la base de datos del trimestre fiscal

Rank = RANKX ( 'Sales', 'Sales'[Fiscal Qtr],, ASC, DENSE )

2. Crea un la medida para conseguir las ventas rodantes de 4 cuartos

Trailing 12 Months = 
VAR _index = MAX ( 'Sales'[Rank] )
VAR _date =  MAX ( 'Sales'[Date] )
RETURN
    CALCULATE (
        SUM ( 'Sales'[Sales] ),
        FILTER (
            ALL ( 'Sales' ),
            'Sales'[Rank] >= _index - 3
                && 'Sales'[Rank] <= _index
                && 'Sales'[Date] <= _date
        )    )

Entrenamiento 12 meses DAX.JPG

Atentamente

rena

amichandak

@BItoken, su fórmula parece correcta, necesita usar el máximo de fecha. Fin de mes no aplicará en tu caso

Últimos 12 meses = CALCULAR (SUMA (Tabla[Sales]), FECHAS EN PERIODO (Fecha[Date],Máx.(Fecha[Date]),-4,TRIMESTRE))

o

Últimos 12 meses = CALCULAR (SUMA (Tabla[Sales]), FECHAS EN PERIODO (Fecha[Date],Máx.(Tabla[Date]),-4,TRIMESTRE))

Utilice siempre la tabla de fechas. Como solución podría funcionar sin eso, pero creará problemas en el futuro.

Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista del modelo. Además, únelo con la columna de fecha de tu/s hecho/s. Referir:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Agradezco sus felicitaciones.

BItoken

En respuesta a amichandak

Esta solución funcionó. Gracias @amitchandak

BItoken

En respuesta a amichandak

Hola @amitchandak,

Usé esta función DAX.

Aunque, obtengo los mismos valores de Ventas.

Mi Trimestre Fiscal y Fecha y Ventas están todos en la misma tabla.

En respuesta a BItoken

Hola @BItoken,

creé un ejemplo de archivo pbix para usted, compruebe si eso es lo que quiere.

1. Crea un columna calculada a ordenar por la base de datos del trimestre fiscal

Rank = RANKX ( 'Sales', 'Sales'[Fiscal Qtr],, ASC, DENSE )

2. Crea un la medida para conseguir las ventas rodantes de 4 cuartos

Trailing 12 Months = 
VAR _index = MAX ( 'Sales'[Rank] )
VAR _date =  MAX ( 'Sales'[Date] )
RETURN
    CALCULATE (
        SUM ( 'Sales'[Sales] ),
        FILTER (
            ALL ( 'Sales' ),
            'Sales'[Rank] >= _index - 3
                && 'Sales'[Rank] <= _index
                && 'Sales'[Date] <= _date
        )    )

Entrenamiento 12 meses DAX.JPG

Atentamente

rena

amichandak

En respuesta a BItoken

@BItoken, ¿puede compartir datos de muestra y resultados de muestra en formato de tabla? O un pbix de muestra después de eliminar datos confidenciales.

Ashish_Mathur

En respuesta a BItoken

Hola,

Comparta el enlace desde donde puedo descargar su archivo PBI.

FrankAT

Hola @BItoken

esto puede ser una solución. Agregué la columna Año fiscal con Power Query y lo usé en la medida (ver archivo pbix adjunto):

12-09-_2020_00-19-47.png

Trailing 12 Month = 
CALCULATE(
    [Sum of Sales],
    FILTER(
        ALLEXCEPT(
            'Table',
            'Table'[Fiscal Year]
        ),
        'Table'[Fiscal Qtr] <= MAX('Table'[Fiscal Qtr])
    )
)

Un cordial saludo desde el pueblo donde vive la leyenda del ‘Pied Piper of Hamelin’
FrankAT (Orgulloso de ser un Datanaut)

BItoken

En respuesta a FrankAT

Hola @FrankAT

Su consulta DAX me dará la suma de todos los trimestres anteriores Suma.

Lo que necesito derivar es la suma de los últimos 4 trimestres posteriores para cualquier trimestre dado.

Por ejemplo, el valor del primer trimestre del año fiscal 21 debe ser la suma de: año fiscal 21: primer trimestre, año fiscal 20: cuarto trimestre, año fiscal 20: tercer trimestre, año fiscal 20: segundo trimestre

BItoken_0-1599922764663.png

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *