Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
Syndicate_Admin
Administrator
Administrator

Inventario a partir de un mes anterior

Hola a todos

Necesito calcular el inventario en función del número de unidades que pasaron de mayorista a minorista. Tengo una tabla que tiene lo siguiente

| de fecha de venta total | de fecha de venta al por menor Unidades

----------------------------------------

1/02/2020 | | 1
15/01/2022 | 20/01/2022 | 1
20/01/2022 | 05/02/2022 | 1

El primer y tercer registro están en inventario al 31 de enero de 2022, pero no el segundo, ya que se vendió antes de la fecha de finalización y no estaba en proceso a finales de mes (31 de enero de 2022)

Cuando un artículo ingresa al sistema, la fecha de venta al por mayor se llena y la fecha de venta al por menor no se llena hasta que el minorista vende el artículo.

Esto significa que si la fecha de venta al por menor está en blanco, todavía está en el inventario. A partir de hoy, si elijo la suma de las unidades que tienen la fecha de venta al por menor en blanco, obtendré el inventario.

El problema es cómo obtengo el inventario a partir de un mes anterior (o fecha), es decir, enero de 2022. Los registros que deben considerarse son del 1 de enero de 2020 (ya que no necesito retroceder más de 3 años).

Puedo obtener el resultado filtrando las filas en un visual.

¿Cómo puedo crear una medida para lograr el mismo resultado?

Vea la captura de pantalla a continuación. El inventario es de 10.245.

skrishnaswamy_0-1661888140411.png

Puedo proporcionar un archivo .pbix para cualquier persona que necesite datos

Gracias

Cs

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Xiaoxin,

Conseguí que funcionara. Hubo un ligero error en las condiciones en la sección AND y OR.
A continuación se muestra la fórmula final que funciona y la captura de pantalla se muestra a continuación.

fórmula =
Dónde currDate =
Máximo ( V_INVENTORY_BENCHMARK[WHOLESALE_DATE] )

Dónde PróximoFecha de mes =
FECHA ( AÑO ( currDate ), MES ( currDate ) + 1, 1 )

Dónde _start =
FECHA ( AÑO ( HOY () ) - 3, MES ( HOY () ), Día ( HOY () ) )

FECHA(2019,12,31)
DEVOLUCIÓN
Si (
currDate >= _start,
CALCULAR (
Suma ( V_INVENTORY_BENCHMARK[UNIDADES] ),
FILTRO (
TODOSSELECCIONADOS ( V_INVENTORY_BENCHMARK ),
Y (_start < «V_INVENTORY_BENCHMARK»[WHOLESALE_DATE] , «V_INVENTORY_BENCHMARK»[WHOLESALE_DATE] < PróximoFecha de mes )
&& O ( V_INVENTORY_BENCHMARK[RETAIL_DATE] = ESPACIO EN BLANCO (), «V_INVENTORY_BENCHMARK»[RETAIL_DATE] >= PróximoFecha de mes )
)
)
)





skrishnaswamy_0-1662418056950.png

Muchas gracias por hacer que esto funcione. Tengo que trabajar para obtener la longitud media de la tubería con diferentes condiciones, pero ahora entiendo la lógica de los cálculos.

Una vez más muchas gracias

Cs

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Xiaoxin,

Conseguí que funcionara. Hubo un ligero error en las condiciones en la sección AND y OR.
A continuación se muestra la fórmula final que funciona y la captura de pantalla se muestra a continuación.

fórmula =
Dónde currDate =
Máximo ( V_INVENTORY_BENCHMARK[WHOLESALE_DATE] )

Dónde PróximoFecha de mes =
FECHA ( AÑO ( currDate ), MES ( currDate ) + 1, 1 )

Dónde _start =
FECHA ( AÑO ( HOY () ) - 3, MES ( HOY () ), Día ( HOY () ) )

FECHA(2019,12,31)
DEVOLUCIÓN
Si (
currDate >= _start,
CALCULAR (
Suma ( V_INVENTORY_BENCHMARK[UNIDADES] ),
FILTRO (
TODOSSELECCIONADOS ( V_INVENTORY_BENCHMARK ),
Y (_start < «V_INVENTORY_BENCHMARK»[WHOLESALE_DATE] , «V_INVENTORY_BENCHMARK»[WHOLESALE_DATE] < PróximoFecha de mes )
&& O ( V_INVENTORY_BENCHMARK[RETAIL_DATE] = ESPACIO EN BLANCO (), «V_INVENTORY_BENCHMARK»[RETAIL_DATE] >= PróximoFecha de mes )
)
)
)





skrishnaswamy_0-1662418056950.png

Muchas gracias por hacer que esto funcione. Tengo que trabajar para obtener la longitud media de la tubería con diferentes condiciones, pero ahora entiendo la lógica de los cálculos.

Una vez más muchas gracias

Cs

Syndicate_Admin
Administrator
Administrator
Syndicate_Admin
Administrator
Administrator

Gracias por su pronta respuesta. El número está cerca pero no es exacto cuando aplico los filtros a la tabla y lo muestro en un visual de tabla. Cargar el archivo .pbix que utilicé para crear esto de nuevo

skrishnaswamy_0-1662390520930.png

Syndicate_Admin
Administrator
Administrator

@skrishnaswamy,

Me gustaría sugerirle que escriba una variable para extraer los valores de fecha de fila actuales, luego puede usarla con la función de fecha para calcular la fecha anterior.
Después de estos pasos, puede escribir una expresión para filtrar y resumir registros en la tabla de hechos en función de los valores de fecha. (estos cálculos pueden ser cambios dinámicos basados en la fecha de contexto de la fila actual)

formula =
VAR currDate =
    MAX ( Table[WholeSale Date] )
VAR prevDate =
    DATE ( YEAR ( currDate ), MONTH ( currDate ) - 1, DAY ( currDate ) )
VAR _start =
    DATE ( YEAR ( TODAY () ) - 3, MONTH ( TODAY () ), DAY ( TODAY () ) )
RETURN
    IF (
        currDate >= _start,
        CALCULATE (
            SUM ( Table[Sales] ),
            FILTER (
                ALLSELECTED ( Table ),
                AND ( [WholeSale Date] <= prevDate, [WholeSale Date] >= _start )
                    && OR ( [Retail Date] = BLANK (), [Retail Date] >= prevDate )
            )
        )
    )

Saludos

Xiaoxin Sheng

Syndicate_Admin
Administrator
Administrator

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors