Obtener el promedio de los últimos 12 meses

Un usuario Pregunto ✅

Anónimo

Hola a todos

Tengo la siguiente medida que calcula la tasa de factura de averge excluyendo el Estado, pero incluyendo División, Tipo de Asignación, Especialidad, Bill_Rate_Tier & Fecha de Inicio

Tengo un filtro para Startdate donde el usuario puede seleccionar una fecha.

Cuando el usuario selecciona datos del filtro StartDate, me gustaría que el cálculo siguiente dure 12 meses de datos y proporcione la tasa de facturación promedio.

¿Podría ayudarme cómo puedo modificar esta medida para calcular el promedio de los últimos 12 meses?

CALCULAR (PROMEDIO (Consulta1[Bill Rate]), TODOS (Consulta1[State]), ALLSELECTED (Consulta1[Division], Consulta1[Assignment Type], Consulta1[Speciality], Consulta1[BILL_RATE_TIER], Consulta1[STARTDATE]))

En respuesta a Anónimo

Hola @ LP280388,

En primer lugar, cree una tabla de dimensiones Date y use el campo Fecha de la tabla Date en la segmentación de datos. A continuación, cree una medida como se indica a continuación:

Rolling 12 months average =
VAR _seldate =
    SELECTEDVALUE ( Date[Date] )
VAR _startdate =
    DATE ( YEAR ( _seldate ) - 1, MONTH ( _seldate ) - 1, 1 )
VAR _enddate =
    EOMONTH (
        DATE ( YEAR ( _seldate ), MONTH ( _seldate ) - 1, DAY ( _seldate ) ),
        0
    )
RETURN
    CALCULATE (
        AVERAGE ( Query1[Bill Rate] ),
        DATESBETWEEN ( Query1[StartDate], _startdate, _enddate ),
        ALL ( Query1 )
    )

Saludos

Rena

Amitchandak

@ LP280388, Unirse a la fecha de inicio con la fecha de la tabla de fechas y probar una fórmula como

Rolling 12 = CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(Sales[Sales Date]),-12,MONTH)) 
Rolling 12 = CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date ],MAX(Sales[Sales Date]),-12,MONTH))  
Rolling 12 = CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date ],MAX('Date'[Date ]),-12,MONTH))  

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únete a ella con la columna de fecha de tus hechos. recomienda:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions

Apreciamos tus felicitaciones.

Anónimo

En respuesta a Amitchandak

@amitchandak

gracias Amit

La siguiente es tomar las fechas desde la fecha seleccionada hasta los últimos 12 meses.

Por ejemplo: si se selecciona 8/28/2020 en el filtro, su cálculo de 12 meses a partir de esta fecha.

Rolling 12 = CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(Sales[Sales Date]),-12,MONTH)) 

Lo que me gustaría hacer es, tomar el último día del mes anterior y calcular 12 meses a partir de esta fecha.

Por ejemplo: si se selecciona 8/28/2020 en el filtro, debe calcular entre 7/1/2019 y 7/31/2019

¿Cómo puede modificar el DAX para adaptarse a mis necesidades.

En respuesta a Anónimo

Hola @ LP280388,

En primer lugar, cree una tabla de dimensiones Date y use el campo Fecha de la tabla Date en la segmentación de datos. A continuación, cree una medida como se indica a continuación:

Rolling 12 months average =
VAR _seldate =
    SELECTEDVALUE ( Date[Date] )
VAR _startdate =
    DATE ( YEAR ( _seldate ) - 1, MONTH ( _seldate ) - 1, 1 )
VAR _enddate =
    EOMONTH (
        DATE ( YEAR ( _seldate ), MONTH ( _seldate ) - 1, DAY ( _seldate ) ),
        0
    )
RETURN
    CALCULATE (
        AVERAGE ( Query1[Bill Rate] ),
        DATESBETWEEN ( Query1[StartDate], _startdate, _enddate ),
        ALL ( Query1 )
    )

Saludos

Rena

Deja un comentario

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