Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hola a todos,
Estoy luchando desde hace una semana en un problema y no puedo encontrar una solución suficiente:
Tengo mi Tabla de Origen 'Datos de Ventas'. Aquí, tengo por Cliente-Producto-Escenario un Margen y Volúmenes de Ventas. Para un cálculo complejo de los márgenes divididos por empresa productora, he creado dos claves diferentes:
GlobalMaterial_ST_ID =
y
See-Through_Product =
Ahora, quiero tener para cada See-Through_Product el See-Through_Margin_per_MT, que se define por:
[FocusCMA_in_RC] / [FocusMT] cuando See-Through_Product = GlobalMaterial_ST_ID. (Esa es la única condición previa). Este Cociente no debe ser cambiado por ningún filtro (en el Cliente, la Empresa o algo así), de modo que el Cociente sea igual para todos los mismos See-Through_Products, no importa a quién se venda el producto original.
Por lo tanto, he creado una tabla calculada adicional para tener una lista de los See-Through_Products individuales. Pongo entonces una relación 1:N entre esta columna See-Through_Product y el GlobalMaterial_ST_ID en los 'Datos de ventas', para calcular con [FocusMT] y [FocusCMA_in_RC]... pero qué decir: el resultado no es suficiente, porque el cociente calculado se basa en el filtrado del informe.
Ahora mi pensamiento es: Hacer el cálculo del cociente en la Tabla See-Through_Product calculada y traer el ST_CMA_inMT con un formulario related() de vuelta a la tabla 'Datos de ventas'. pero ahora, estoy luchando para conseguir el [FocusMT] y el [FocusCMA_in_RC] correctos en la Mesa See-Through_Product... ¿Alguna sugerencia?
(espero, describí mi problema de manera comprensible).
Solved! Go to Solution.
Encontré la solución:
1. Creé la tabla calculada:
SeeThroughProducts =
FILTER(
SUMMARIZE(
'Sales Data',
'Sales Data'[See-Through_Product]
),
NOT ISBLANK('Sales Data'[See-Through_Product])
)
2. Agregué una medida en esa tabla para los volúmenes de ventas (en 3. también para el margen):
SalesReported_FocusScenarioYear =
VAR CurrentMaterialID = SELECTEDVALUE(SeeThroughProducts[See-Through_Product])
RETURN
CALCULATE(
SUM('Sales Data'[Sales Reported]),
FILTER(
ALL('Sales Data'),
'Sales Data'[GlobalMaterial_ST_ID] = CurrentMaterialID
),
'Sales Data'[Scenario]= SELECTEDVALUE(FocusScenario[Focus Scenario]),
'Sales Data'[Year]=SELECTEDVALUE(GemeinsameJahre[Year])
)
3. Como 2. solo con Margen
4. Creé una medida para el cociente:
ST_CMA_per_MT = DIVIDE([CMA_FocusScenarioYear],[SalesReported_FocusScenarioYear],0)
5. En mi Tabla de Fuentes, agregué la siguiente Medida:
ST_CMA_per_MT_for_SalesData =
VAR CurrentSTProduct = SELECTEDVALUE('Sales Data'[See-Through_Product])
RETURN
CALCULATE(
[ST_CMA_per_MT],
FILTER(
ALL(SeeThroughProducts),
SeeThroughProducts[See-Through_Product] = CurrentSTProduct
),
KEEPFILTERS(VALUES('Sales Data'[Year])),
KEEPFILTERS(VALUES(FocusScenario[Focus Scenario])
))
Ahora, funciona, y puedo seguir probando el siguiente...
Encontré la solución:
1. Creé la tabla calculada:
SeeThroughProducts =
FILTER(
SUMMARIZE(
'Sales Data',
'Sales Data'[See-Through_Product]
),
NOT ISBLANK('Sales Data'[See-Through_Product])
)
2. Agregué una medida en esa tabla para los volúmenes de ventas (en 3. también para el margen):
SalesReported_FocusScenarioYear =
VAR CurrentMaterialID = SELECTEDVALUE(SeeThroughProducts[See-Through_Product])
RETURN
CALCULATE(
SUM('Sales Data'[Sales Reported]),
FILTER(
ALL('Sales Data'),
'Sales Data'[GlobalMaterial_ST_ID] = CurrentMaterialID
),
'Sales Data'[Scenario]= SELECTEDVALUE(FocusScenario[Focus Scenario]),
'Sales Data'[Year]=SELECTEDVALUE(GemeinsameJahre[Year])
)
3. Como 2. solo con Margen
4. Creé una medida para el cociente:
ST_CMA_per_MT = DIVIDE([CMA_FocusScenarioYear],[SalesReported_FocusScenarioYear],0)
5. En mi Tabla de Fuentes, agregué la siguiente Medida:
ST_CMA_per_MT_for_SalesData =
VAR CurrentSTProduct = SELECTEDVALUE('Sales Data'[See-Through_Product])
RETURN
CALCULATE(
[ST_CMA_per_MT],
FILTER(
ALL(SeeThroughProducts),
SeeThroughProducts[See-Through_Product] = CurrentSTProduct
),
KEEPFILTERS(VALUES('Sales Data'[Year])),
KEEPFILTERS(VALUES(FocusScenario[Focus Scenario])
))
Ahora, funciona, y puedo seguir probando el siguiente...
Hola @Pfoster
Cree una tabla calculada para almacenar la proporción sin filtrar por producto transparente y, a continuación, devuelva la proporción a la tabla de datos de ventas a través de una búsqueda RELATED().
Implementación paso a paso
Crear una tabla calculada de productos transparentes
Dax
CopiarEditar
SeeThroughProductTable =
RESUMIR(
«Datos de ventas»,
'Datos de ventas'[Ver-Through_Product]
)
Esto le da una lista distinta de productos transparentes.
Agregue una columna calculada en esa tabla para calcular la proporción sin filtrar
SeeThrough_Margin_per_MT =
VAR CurrentProduct = 'SeeThroughProductTable'[Ver-Through_Product]
DEVOLUCIÓN
DIVIDIR(
CALCULAR(
SUM(«Datos de ventas»[FocusCMA_in_RC]),
REMOVEFILTERS('Datos de ventas'),
'Datos de ventas'[GlobalMaterial_ST_ID] = Producto actual
),
CALCULAR(
SUM('Datos de ventas'[FocusMT]),
REMOVEFILTERS('Datos de ventas'),
'Datos de ventas'[GlobalMaterial_ST_ID] = Producto actual
)
)
Gracias
Pankaj Namekar | LinkedIn (en inglés)
Si esta solución ayuda, por favor acéptala y da un aplauso (Me gusta), sería muy apreciado.
Desafortunadamente, este procedimiento no funciona.
En Excel, en realidad sería una función de suma si:
Si 'Sales Data'[GlobalMaterial_ST_ID] = 'SeeThroughProductTable'[SeeThroughProduct], agregue [FocusMT]. Y por supuesto lo mismo en otra columna para el margen.
Si tuviera eso, podría crear una medida en "Datos de ventas" que calcule el cociente por mí.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.