Total acumulado, últimos 5 días FACTURABLES a partir de hoy, consecutivos

Un usuario Pregunto ✅

Fro88er

A continuación tengo una dimensión DimCalendar. estoy tratando de promediar [PDV Combined Total] para los últimos 5 días de facturación continua identificando los últimos 5 días de facturación en la tabla del calendario. He identificado los no fines de semana y Festivos columna: [IsABillingDay], el siguiente que he identificado es <= Hoy columna: [BillableFromToday]. No puedo descifrar cómo tomar/medir solo los primeros 5 valores de [BillableFromToday]. Probé, rankx (promedio si <= 5), indexación (promedio si <= 5), etc. ¿Abierto a ideas, pensamientos?

PDV FacturableDays.JPG

facturable desde hoy =
SI(DimCalendar[Date]<= HOY() && DimCalendar[IsABillingDay] = 1,
1)
EsDíaDeFacturación =
VAR Facturación Día =
CAMBIAR(VERDADERO(),
DimCalendar[WeekDay#] = 1, 0,
DimCalendar[WeekDay#] = 7, 0,
1)
Var vacaciones =
LOOKUPVALUE(DimCalendarVacaciones[Qty], DimCalendarVacaciones[Date], DimCalendar[Date])
Regreso
Día de Facturación + Festivo

Ashish_Mathur

Hola,

Puede descargar mi archivo PBI desde aquí. Dado que hoy es 2 de diciembre, cuenta 5 días hacia atrás desde el 2 de diciembre. Además, lo resolví sin usar la columna BillableFromToday. He mostrado el resultado como suma (no promedio) para que pueda verificar mi resultado fácilmente.

Espero que esto ayude.

Sin título.png

Fro88er

¡Esto funcionó perfectamente! Extremadamente útil para ver y aprender la lógica aplicada.

Muchas gracias,
Marcos

Ashish_Mathur

En respuesta a Fro88er

Hola,

También publiqué mi solución en este artículo de blog: mostrar el saldo pendiente todos los días, incluso si los datos de todos los días no están disponibles.

Ashish_Mathur

En respuesta a Fro88er

De nada.

Ashish_Mathur

Hola,

Puede descargar mi archivo PBI desde aquí. Dado que hoy es 2 de diciembre, cuenta 5 días hacia atrás desde el 2 de diciembre. Además, lo resolví sin usar la columna BillableFromToday. He mostrado el resultado como suma (no promedio) para que pueda verificar mi resultado fácilmente.

Espero que esto ayude.

Sin título.png

tommartens

Hola @Fro88er,

Supongo que esto funcionará, la idea detrás de esto es identificar los últimos cinco días facturables, almacenar esto en una variable y usar esta variable dentro del cálculo.

the average = 
var __currendate = MAX( 'DimCalendar'[Date] )
var dates = 
SELECTCOLUMNS(    
    TOPN( 
        5
        , FILTER( ALL( 'DimCalenar'  , 'DimCalendar'[Date] <= __currendate && 'DimCalendar'[IsABillingDay] = 1 ) 
        , INT( 'DimCalendar'[Date] ) 
        , DESC 
    )
    , "Date" ,  'DimCalendar'[Date]
)
return
CALCULATE(
    AVERAGE(...[PDV Combined Total]
    , dates
)

Con suerte, esto proporciona lo que está buscando.

De lo contrario, considere crear un archivo pbix que contenga datos de muestra, pero que aún refleje su modelo de datos, cargue el archivo en onedrive o dropbox y comparta el enlace.

Saludos,

Tomás

Fro88er

En respuesta a tommartens

Tom, recibo un mensaje de error.

PDV FacturableDays2.JPG

Fro88er

En respuesta a Fro88er

Lo sentimos, aquí hay algunos datos de muestra. Todas las tablas de hechos se unen al DimCalendar.

Muestra PDV.xlsx

tommartens

En respuesta a Fro88er

Hola @Fro88er,

es difícil usar su xlsx adjunto, ya que solo contiene una sola hoja, por esta razón no es posible crear un modelo de datos que represente su modelo de datos y donde una tabla de calendario se une a múltiples tablas de hechos.

Sin embargo, detecté 2 errores tipográficos (corchetes faltantes) en la medida anterior, pruebe esta versión:

the average = 
var __currendate = MAX( 'DimCalendar'[Date] )
var dates = 
SELECTCOLUMNS(    
    TOPN( 
        5
        , FILTER( ALL( 'DimCalenar' ) , 'DimCalendar'[Date] <= __currendate && 'DimCalendar'[IsABillingDay] = 1 ) 
        , INT( 'DimCalendar'[Date] ) 
        , DESC 
    )
    , "Date" ,  'DimCalendar'[Date]
)
return
CALCULATE(
    AVERAGE(...[PDV Combined Total] )
    , dates
)

Asegúrese de reemplazar el 3 puntos la referencia de la tabla en esta línea PROMEDIO (…[PDV Combined Total] ) con el nombre de la tabla si [PDV Combined Table] es una columna o simplemente elimine los puntos si es una medida.

Saludos,

Tomás

Deja un comentario

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