Imaginemos el siguiente caso:ejemploEARLIERDAX_thumb_5E6CF01F

Y queremos calcular el stock total que hay por días, siendo el primer día igual al del movimiento, de manera que quede de la siguiente forma:

EARLIER-DAX2_thumb_0C5A42D8

Para hacer este cálculo vamos a necesitar una nueva función que modifique el contexto. Y esta es EARLIER. EARLIER devuelve el valor actual de la columna especificada en un paso de la evaluación exterior de la columna mencionada. Es decir, devuelve el valor justamente anterior de la columna exigida. Tiene la siguiente sintaxis: EARLIER(<column>, <number>) siendo

  • <column>: Columna o expresion que se resuelve en una columna
  • <num>: Número positivio apra el paso de la evaluación exterior. El siguiente nivel de evaluación exteriro se representa mediante 1; dos mediante el 2. Cuando se omite el valor predeterminado es 1

La función EARLIER requiere un contexto de fila anterior al principio del recorrido de tabla. De manera que nosotros no podemos poner =EARLIER(c,n) ya que el contexto de fila es la propia tabla. Para nuestro calculo, haríamos la siguiente formula.

=SUMX(
FILTER(Tabla,Tabla[Fecha]<=EARLIER(Tabla[Fecha]) && Tabla[Producto] = EARLIER(Tabla[Producto]) && Tabla[Talla] = EARLIER(Tabla[Talla]))
,Tabla[Movimiento Stock]
)

De manera que con esta imagen y los colores vamos a verlo mejor:

ejemplo-earlier_thumb_0C5A42D8

 

El circulo naranja le esta dando el contexto de evaluación.

Con FILTER le estamos estableciendo el contexto de fila que debe de coger. Ponemos las condiciones de Producto y de talla para que solo compare los que son igual en talla y producto (es decir, el producto A, con el producto A; la talla XL con la talla XL). Con el filtro de fecha le decimos que solo coja las filas cuya fecha sea menor o igual a la fila evaluada. Por último en rojo tenemos el campo a sumar dentro del SUMX (recordar que sumx es para agregados donde el contexto se cambia)

Nos vemos.

Sergio

Índice de contenidos

I. Evaluando el contexto en PowerPivot

II. SUMX. Operaciones de Agregacion dependientes del contexto

III. Funcion ALL, FILTER, CALCULATE

IV. Calculate a fondo

V. EARLIER

 

Sergio Carrillo

Sergio is a former SolidQ team member.