March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Con la siguiente tabla 'Datos', Me gustaría escribir una medida que calcula el total de ejecución basado en "Producto".
Producto | Tipo | Costo |
A | Material | 200 |
A | Personal | 150 |
A | Máquina | 80 |
B | Material | 300 |
B | Personal | 140 |
B | Máquina | 120 |
C | Material | 240 |
C | Personal | 200 |
C | Máquina | 10 |
Producto | Costo | Cost Running Total |
B | 560 | 560 |
C | 450 | 1010 |
A | 430 | 1440 |
Mi solución actual es usar la siguiente fórmula DAX para crear una tabla calculada,'Datos por producto'; conectar las dos tablas,'Datos'y 'Datos por producto' con una tabla de relaciones, 'Producto' que contiene sólo "A", "B", "C" ,y finalmente utilizar la siguiente medida, " Cost RunningTotal" para calcular el costo total de ejecución basado en la columna [Coste] en orden descendente.
Data by Product =
SUMMARIZE(
'Data',
Data[Product],
"Cost", SUM(Data[Cost])
)
Cost Running Total =
CALCULATE(
SUM(Data[Cost]),
FILTER(
ALLSELECTED('Product'[Product]),
Data[Cost] >= MIN('Data by Product'[Cost])
)
)
¿Alguna forma menos engorrosa de realizar el mismo cálculo?
Solved! Go to Solution.
@CKWong, pruebe esto:
1. Cree una tabla ProductMaster. Ordene la columna Producto por la columna Index (controla la ordenación en el objeto visual de la tabla).
2. Une ProductMaster a la tabla de datos.
3. Crear medidas.
Total Cost = SUM ( ProductCost[Cost] )
Running Total =
VAR vSelProd =
SELECTEDVALUE ( ProductMaster[Index] )
VAR vResult =
CALCULATE (
[Total Cost],
ProductMaster[Index] <= vSelProd,
ALL ( ProductMaster[Product] )
)
RETURN
vResult
4. Cree un objeto visual de tabla, utilizando ProductMaster[Product] y las medidas.
5. Resultado:
Proud to be a Super User!
Hola @CKWong
qué pasa con la siguiente solución:
Sum of Cost = SUM(Data[Cost])
Running Total =
CALCULATE(
[Sum of Cost],
FILTER(
ALL(Data),
MIN(Data[Product]) <= Data[Product]
)
)
Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)
Hola @CKWong
qué pasa con la siguiente solución:
Sum of Cost = SUM(Data[Cost])
Running Total =
CALCULATE(
[Sum of Cost],
FILTER(
ALL(Data),
MIN(Data[Product]) <= Data[Product]
)
)
Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)
@CKWong, pruebe esto:
1. Cree una tabla ProductMaster. Ordene la columna Producto por la columna Index (controla la ordenación en el objeto visual de la tabla).
2. Une ProductMaster a la tabla de datos.
3. Crear medidas.
Total Cost = SUM ( ProductCost[Cost] )
Running Total =
VAR vSelProd =
SELECTEDVALUE ( ProductMaster[Index] )
VAR vResult =
CALCULATE (
[Total Cost],
ProductMaster[Index] <= vSelProd,
ALL ( ProductMaster[Product] )
)
RETURN
vResult
4. Cree un objeto visual de tabla, utilizando ProductMaster[Product] y las medidas.
5. Resultado:
Proud to be a Super User!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!