Obtención de la fecha de la primera y última venta de cada vendedor

En este sencillo escenario partimos de los siguientes datos:

  • Tabla de vendedores:
Tabla de vendedores
  • Tabla de ventas:
Tabla de ventas

El objetivo es crear una tabla calculada en la que se incluya el nombre del vendedor y las fechas de su primera y última venta. Comencemos creando la tabla con los nombres, para lo que vamos a usar la función SELECTCOLUMNS:

Listado vendedores = SELECTCOLUMNS(
    Vendedores;
    "Nombre"; Vendedores[Nombre Vendedor]
)

Listado de vendedores

Añadamos ahora la columna con la primera fecha de venta. Podríamos pensar en la necesidad de extraer mediante la función RELATEDTABLE el subconjunto de la tabla de ventas asociada a cada fila de nuestra tabla (tal y como hacemos en el escenario de Creación de una tabla con las ventas medias por vendedor) pero la función FIRSTDATE, tal y como podemos leer en la documentación, devuelve la primera fecha en el contexto actual, lo que supone el contexto de fila definido por cada vendedor, en nuestro caso, lo que hace innecesario el uso de la mencionada función RELATEDTABLE. Basta con usar FIRSTDATE de la siguiente forma:

Listado vendedores = SELECTCOLUMNS(
    Vendedores;
    "Nombre"; Vendedores[Nombre Vendedor];
    "Primera venta"; FIRSTDATE(Ventas[Fecha])
)

Listado de vendedores y primera fecha de venta

Vemos que las fechas son distintas, lo que ya nos indica que el cálculo de FIRSTDATE se realiza en contextos diferentes para cada fila. En todo caso comprobamos mediante una inspección ocular de la tabla de ventas que las fechas mostradas son las correctas.

La adición de la última fecha de venta es análoga, utilizando la función LASTDATE:

Listado vendedores = SELECTCOLUMNS(
    Vendedores;
    "Nombre"; Vendedores[Nombre Vendedor];
    "Primera venta"; FIRSTDATE(Ventas[Fecha]);
    "Última venta"; LASTDATE(Ventas[Fecha])
)

Listado de vendedores y primera y última fecha de venta

 

Funciones DAX involucradas
Enviado por admin el Lun, 08/04/2019 - 11:50