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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

Previsión de productos sustitutos

Hola

Estoy en los primeros días de crear un modelo de datos (tratando de aprender a través de YouTube, libros y este foro, pero no he encontrado cómo hacer lo siguiente, aunque podría tener que ver con lo que estoy buscando)

El escenario actual con el que necesito poder lidiar es donde, por ejemplo, actualmente compramos el Producto X (15 libras por 1 kg), pero ahora se ha sustituido por el Producto Y (el Producto Y tiene un precio y tamaño diferentes, por ejemplo, 5 libras por 400 gramos).

Por lo tanto, tenemos los volúmenes de ventas históricos para el producto X que quiero usar para el producto Y, pero el nuevo precio de venta previsto.

Por el momento mi proceso de pensamiento es un

Tabla de datos de ventas: contiene los volúmenes de ventas históricos

Tabla de calendario

Luego para potencialmente tener una tabla que muestre el producto Y = Producto X

Tabla de hechos de pronóstico, que en este momento sería una copia directa de la tabla real con un % de aumento en ciertos períodos, pero necesita usar el producto X con el volumen de ventas del producto Y.

Pero aquí es donde me quedo atascado, ¿hay algún ejemplo de algo similar en cualquier lugar que pueda ver, nada se ha escrito en piedra, pero estoy tratando de diseñar el modelo de datos en papel antes de construir nada?

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Dejando a un lado los forcasts, reduzcamos este problema en convertir las compras de productos a sus subtituciones, si las hay.

Supongo que sus tablas se ven así (dejando de lado la fecha, los clientes y más):

Set up.png

El DAX es bastante complicado, necesitamos jugar bastante con el contexto de la fila.

Por ejemplo, el producto X devuelve resultados incluso cuando no aparece en la tabla Hechos.

Este es mi DAX:

New Purchases Test =
SUMX (
    'Dim Products',
    VAR _Substitute =
        SELECTEDVALUE ( 'Dim Products'[Subtitue] )
    VAR _Has_Substitue =
        NOT ( OR ( ISBLANK ( _Substitute ), _Substitute = "" ) )
    VAR _Product =
        SELECTEDVALUE ( 'Dim Products'[Product] )
    VAR _Substitue_Table =
        CALCULATETABLE (
            'Dim Products',
            REMOVEFILTERS (),
            KEEPFILTERS ( 'Dim Products'[Subtitue] = _Product )
        )
    VAR _Is_Substitute =
        COUNTROWS ( _Substitue_Table ) > 0
    RETURN
        SWITCH (
            TRUE (),
            _Has_Substitue, BLANK (),				--If there is a substitute, the product will return a blank
            SUM ( 'Fact Purchases'[Quantity] )		--If the product has no substitute, it returns its own purchases, plus purchases of the product it replaces	
                + IF (
                    NOT ( _Is_Substitute ),
                    BLANK (),
                    DIVIDE (
                        SUMX (						--A table of the replaced products
                            CALCULATETABLE (
                                'Dim Products',
                                REMOVEFILTERS (),
                                KEEPFILTERS ( 'Dim Products'[Subtitue] = _Product )
                            ),
                            CALCULATE (
                                SUM ( 'Fact Purchases'[Quantity] ),				--Quantity of the replaced products, 
                                REMOVEFILTERS ( 'Fact Purchases'[Product] )
                            ) * 'Dim Products'[Weight (KG)]						--multiplied by the weight of the replaced product,
                        ),
                        'Dim Products'[Weight (KG)]								--divided by the weight of the new product
                    )
                )
        )
)

Esto asegura que:

  1. Los productos reemplazados no aparecían
  2. Los nuevos productos mostrarían sus propias compras más las de los productos que reemplazan, factorizadas por peso.
  3. Los productos no reemplazados computan normalmente.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.