Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
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?
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):
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:
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.