Promedio móvil: fecha de finalización

Un usuario Pregunto ✅

kotarosai

Siento que esto está cerca, pero encuentre la fórmula para un promedio móvil de 20 días a continuación. La medida en realidad funciona muy bien y es precisa, excepto por el hecho de que cuando se traza en un gráfico de líneas, va más allá del [Latest Date Loaded] que también se publica a continuación. Alguna idea de por qué no se corta en el [Latest Date Loaded]? El ‘Resultado de Ventas'[CAS_Bonus_date__c] está relacionado con el campo de la tabla de fechas de ‘Tabla de fechas'[Date] también. Agradezco sus comentarios, gracias!

Total Sales = SUM('Sales Result'[Net_Sales_Units__c])

Latest Date Loaded = VAR X = SUMMARIZE(ALL('Sales Result'),'Sales Result'[Account],"M",CALCULATE(MAX('Sales Result'[CAS_Bonus_Date__c]),'Sales Result'[RecordTypeId]="0126g000000O4VdAAK",'Sales Result'[Region__c]<>"Specialty Pharmacy"))
RETURN MAXX(x,[M])

4 Week Moving Average Chart = 
CALCULATE(
    [Total Sales],
    DATESINPERIOD('Date Table'[Date],LASTDATE('Date Table'[Date]),-20,DAY),
    FILTER(ALLSELECTED('Date Table'),'Date Table'[Working Day] = 1 &&
    'Date Table'[Date] <= [Latest Date Loaded]))
    /
CALCULATE(
    DISTINCTCOUNT('Date Table'[Date]),
    DATESINPERIOD('Date Table'[Date],LASTDATE('Date Table'[Date]),-20, DAY),
    FILTER(ALLSELECTED('Date Table'),'Date Table'[Working Day] = 1 &&
    'Date Table'[Date] <= [Latest Date Loaded]))

imagen.png

hola @kotarosai

Debe crear un IF condicional en la medida de la siguiente manera:

Gráfico de promedio móvil de 4 semanas =
SI(
MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<=[Latest Date Loaded]
&&MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<>EN BLANCO(),
CALCULAR(
[Total Sales],
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20,DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded]))
/
CALCULAR(
DISTINCTCOUNT(‘Tabla de fechas'[Date]),
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20, DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded])))

o

Gráfico de promedio móvil de 4 semanas =
SI(
MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<=[Latest Date Loaded]
&&MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<>EN BLANCO(),
CALCULAR(
[Total Sales],
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20,DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded]))
/
CALCULAR(
DISTINCTCOUNT(‘Tabla de fechas'[Date]),
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20, DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded])))
Saludos,
Lin

hola @kotarosai

Debe crear un IF condicional en la medida de la siguiente manera:

Gráfico de promedio móvil de 4 semanas =
SI(
MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<=[Latest Date Loaded]
&&MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<>EN BLANCO(),
CALCULAR(
[Total Sales],
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20,DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded]))
/
CALCULAR(
DISTINCTCOUNT(‘Tabla de fechas'[Date]),
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20, DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded])))

o

Gráfico de promedio móvil de 4 semanas =
SI(
MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<=[Latest Date Loaded]
&&MAX(‘Resultado de Ventas'[CAS_Bonus_date__c])<>EN BLANCO(),
CALCULAR(
[Total Sales],
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20,DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded]))
/
CALCULAR(
DISTINCTCOUNT(‘Tabla de fechas'[Date]),
DATESINPERIOD(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date]),-20, DÍA),
FILTRO(TODO SELECCIONADO(‘Tabla de Fechas’),’Tabla de Fechas'[Working Day] = 1 &&
‘Tabla de fechas'[Date] <= [Latest Date Loaded])))
Saludos,
Lin

kotarosai

En respuesta a v-lili6-msft

Dios, lo estaba pensando demasiado. ¡Gracias por tu apoyo Lin!

kotarosai

Avíseme si hay otros detalles que también puedan ayudar a solucionar el problema. ¡Gracias!

Deja un comentario

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