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!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
Hola-
Tengo los siguientes datos en la vista Tabla y necesito una fórmula de Dax para calcular una columna con el total basado en el número calculado de la semana anterior (factor * total anterior) para cada categoría:
Tabla: DATOS
| Categoría | Fecha | factor | Total | cálculo |
| A | 01/01/24 | - | 100 | |
| A | 01/08/24 | 1.01682 | 101.68 | (100*1.01682) |
| A | 01/15/24 | 1.01734 | 103.45 | (101.68*1.01734) |
| A | 01/22/24 | 1.01939 | 105.45 | (103.45*1.01939) |
| A | 01/29/24 | 1.01854 | 107.41 | (105.45*1.01854) |
| B | 01/01/24 | 1.01792 | 50 | |
| B | 01/08/24 | 1.01612 | 50.81 | |
| B | 01/15/24 | 1.01332 | 51.48 | |
| B | 01/22/24 | 1.01134 | 52.07 | |
| B | 01/29/24 | 1.01166 | 52.67 |
El código que he probado y fallado (NaN) es el siguiente:
CALCULATION =
VAR _MINVALUE =
DATA[Total]
*CALCULATE(
SUM(DATA[factor]),
FILTER(DATA,DATA[Date]=MIN('DATA'[Date]])&&DATA[Category]=DATA[Category])
)
RETURN
IF(
DATA[Date]=MIN('DATA'[Date]])&&DATA[Category]=DATA[Category],
_MINVALUE,
CALCULATE(
PRODUCT(DATA[factor]),
FILTER(DATA,DATA[Date]<=EARLIER(DATA[Date])&&DATA[Category]=DATA[Category])
)*DATA[factor]
)
Gracias de antemano.
Solved! Go to Solution.
¡Respondió!
Column =
VAR TempTable = FILTER('Table','Table'[Category]=EARLIER('Table'[Category]) && 'Table'[Date]<=EARLIER('Table'[Date]))
VAR FirstVal = MAXX(TOPN(1,TempTable,'Table'[Date],1),'Table'[Total])
RETURN
PRODUCTX(
TempTable,
VAR MinDateOfCat = MINX(TempTable,'Table'[Date])
RETURN
IF('Table'[Date]=MinDateOfCat,1,'Table'[factor])
)*FirstVal
¡Respondió!
Column =
VAR TempTable = FILTER('Table','Table'[Category]=EARLIER('Table'[Category]) && 'Table'[Date]<=EARLIER('Table'[Date]))
VAR FirstVal = MAXX(TOPN(1,TempTable,'Table'[Date],1),'Table'[Total])
RETURN
PRODUCTX(
TempTable,
VAR MinDateOfCat = MINX(TempTable,'Table'[Date])
RETURN
IF('Table'[Date]=MinDateOfCat,1,'Table'[factor])
)*FirstVal
The Power BI Data Visualization World Championships is back! It's time to submit your entry.
Check out the January 2026 Power BI update to learn about new features.