Función EARLIER o sea, esta fila

Después de mucho leer e investigar me he quedado con el concepto de lo que significa EARLIER y para que lo podemos usar:

En el contexto en que nos movemos es el valor de la fila en la cual estamos realizando los cálculos.

Lo voy a explicar partiendo de A3ERP Ventas totales detalladas base que puede descargar

Queremos obtener una tabla que nos muestre las ventas de cada cliente y el valor acumulado, hasta el final de la lista de clientes.

Esto en Excel es muy fácil: en una tabla dinámica usamos el Mostrar valores como…Total en

Aquí debemos construir una tabla de cliente con Modelado, Nueva tabla

Y ponemos la definición de la tabla usando la función SUMMARIZE

Clientes = SUMMARIZE(Ventas;Ventas[Cliente];”Ventas cliente”;[EUR])

Obtenemos una tabla con las ventas por cliente

A la que podemos dar formato numérico y ordenar por valor ascendente

Ahora necesitamos otra columna con el acumulado cliente a cliente, a medida que descendemos por la lista

Añadimos una columna con la formula

Ventas acumuladas EARLIER = SUMX(FILTER(Clientes; EARLIER(Clientes[Ventas cliente];1)>=Clientes[Ventas cliente]);Clientes[Ventas cliente])

Y obtenemos

Vamos a interpretarlo

SUMX espera una tabla y una expresión a sumar. Y la tabla la recorre registro por registro

Así pues tenemos dos partes

La tabla: FILTER(Clientes; EARLIER(Clientes[Ventas cliente];1)>=Clientes[Ventas cliente])

La expresión a sumar: Clientes[Ventas cliente]

A su vez, FILTER espera una tabla y una expresión de filtro

La tabla es: Clientes

Y el filtro es: EARLIER(Clientes[Ventas cliente];1)>=Clientes[Ventas cliente]

Lo que se lee como EL Valor de ventas cliente de esta fila >= que el Ventas cliente

Otra manera de enfocarlo es con la función VAR

Creamos una nueva columna y ponemos

Ventas Acumuladas VAR =

VAR

CurrentTotal=Clientes[Ventas cliente]

RETURN

SUMX(

FILTER(

Clientes;

Clientes[Ventas cliente]<=CurrentTotal

);

Clientes[Ventas cliente]

)

Aviso, para escribir el salto de línea hay que pulsar ALT+INTRO

Y obtenemos

Aquí hemos declarado una variable: el current total que guarda el valor de ventas cliente de la fila en que estamos

Y aplicamos otra vez el SUMX pero en este cado en el filtro le decimos que el

Clientes[Ventas cliente]<=CurrentTotal

El ventas cliente sea menor que el valor guardado.

Funciona igual, y quizás se entiende mejor.

La función EARLIER nos será muy útil para crear acumulados de elementos que necesitaremos para hacer grafico de Pareto

2 comentarios sobre “Función EARLIER o sea, esta fila”

  1. Excelente!, pero antes de aplicar la formula dax sorteo las ventas clientes de mayor a menor y aplico el dax no pero no es la respuesta deseado del acumulado.
    Saludos.

  2. Buenas deseo que en la semana 1 acumule de la siguiente manera. Gracias de ante mano

    DIA 7 Semana1
    0 0
    1 1
    0 1
    1 2
    0 2
    0 2
    0 2
    0 2
    1 3
    0 3
    0 3
    1 4
    1 5
    1 6
    1 7
    1 8

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.