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
H_insight
Helper V
Helper V

Calcular el total para las últimas N fechas

Hola a todos

Estoy tratando de calcular las ventas totales para el último 3er o 2o día en mi tabla de ventas en función de una fecha seleccionada. Mi modelo tiene 2 tablas:

1- Tabla de ventas que contiene productos, valor y fechas (algunas fechas están en blanco).

Tabla de 2 fechas

Tengo una relación activa entre Dates[Date] & Sales[Date].

Mi objetivo es tener una medida para calcular las ventas totales en los últimos N días a partir de la fecha seleccionada e ignorando las fechas en blanco.

Por ejemplo, cuando selecciono el 29/04/2020, debería poder ver la siguiente tabla:

test1.png

No está seguro de cómo:

a- Mostrar los últimos 3 días (29, 22 y 21) en columnas dinámicamente.

b- Medir para calalar las ventas totales en función de la selección.

Espero que tenga sentido. Se adjunta el archivo PBIXde ejemplo.

Muchas gracias

1 ACCEPTED SOLUTION
v-kelly-msft
Community Support
Community Support

Hola @HeshamK ,

En primer lugar, elimine la relación entre las fechas de la tabla y las ventas, vea a continuación:(si eliminar el relationshiop no es una buena opción, luego cree una nueva tabla de calendario y use sus fechas para el cálculo)

Annotation 2020-04-30 154801.png

A continuación, cree una medida como se indica a continuación:

Measure =
VAR a =
    CALCULATETABLE (
        TOPN (
            3,
            FILTER ( VALUES ( Sales[Date] ), Sales[Date] <= SELECTEDVALUE ( Dates[Date] ) ),
            [Date], DESC
        ),
        ALLSELECTED ( Sales )
    )
RETURN
    IF (
        SELECTEDVALUE ( Dates[Date] ) = BLANK (),
        MAX ( 'Sales'[Values] ),
        CALCULATE ( SUM ( Sales[Values] ), FILTER ( Sales, Sales[Date] IN a ) )
    )

Finalmente verá:

Annotation 2020-04-30 155334.png

Para el archivo .pbix relacionado , pls haga clic aquí.

Saludos
Kelly
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

View solution in original post

6 REPLIES 6
v-kelly-msft
Community Support
Community Support

Hola @HeshamK ,

En primer lugar, elimine la relación entre las fechas de la tabla y las ventas, vea a continuación:(si eliminar el relationshiop no es una buena opción, luego cree una nueva tabla de calendario y use sus fechas para el cálculo)

Annotation 2020-04-30 154801.png

A continuación, cree una medida como se indica a continuación:

Measure =
VAR a =
    CALCULATETABLE (
        TOPN (
            3,
            FILTER ( VALUES ( Sales[Date] ), Sales[Date] <= SELECTEDVALUE ( Dates[Date] ) ),
            [Date], DESC
        ),
        ALLSELECTED ( Sales )
    )
RETURN
    IF (
        SELECTEDVALUE ( Dates[Date] ) = BLANK (),
        MAX ( 'Sales'[Values] ),
        CALCULATE ( SUM ( Sales[Values] ), FILTER ( Sales, Sales[Date] IN a ) )
    )

Finalmente verá:

Annotation 2020-04-30 155334.png

Para el archivo .pbix relacionado , pls haga clic aquí.

Saludos
Kelly
¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Hola @v-kelly-msft ,

¡Increíble! Gracias por compartir la solución. Funciona según lo esperado y lo más importante que su dax no tiene ningún impacto en el rendimiento del modelo.

Sería muy bueno si usted puede compartir cómo obtener las ventas totales para:

- El último día del mes anterior

- El último día de la semana anterior

Atentamente

Hesham

Hola @v-kelly-msft ,

Cualquier oportunidad que pueda ayudarme a obtener las ventas totales para:

- El último día del mes anterior

- El último día de la semana anterior

Muchas gracias

Hesham

camargos88
Community Champion
Community Champion

Hola @HeshamK,

Marque este archivo como ejemplo: Descargar PBIX

La idea es tener una tabla de fechas desensensuada y para el valor obtener las últimas 3 o n fechas en su tabla de ventas, iterar en la tabla de ventas y comprobar si está dentro de esas 3 o n fechas y sumar por fecha.

Si lo considera como una solución, marque como una solución y felicitaciones.

Ricardo



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Hola @camargos88 ,

Gracias por proporcionar su solución. La solución funcionó, sin embargo hubo un impacto additonal en el modelo perfomance. Estaba consumiendo mucha memoria, por lo tanto no era ideal.

Saludos

Hesham

amitchandak
Super User
Super User

@HeshamK ,

Refiera , si esto puede ayudar

Rodar 3 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],max(Sales[Sales]),-3,DAY))

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.