Calcule las ventas de los clientes potenciales después del primer contacto

Un usuario Pregunto ✅

Razmochaev

Hola a todos.

Soy bastante nuevo en DAX y estoy luchando con la siguiente tarea.

Tengo dos tablas de dimensiones, dimClients y dimDates, y dos tablas de hechos: factSales y factCalls.

factCalls contiene todas las llamadas de clientes potenciales y factSales: todas las ventas.

Quiero calcular todas las ventas que generaron estos clientes potenciales después de la fecha en que llamaron.

Yo uso la función CALCULAR (calcular (suma (factSales[SalesAmount])). Sugiero que necesito aplicar dos filtros en tablas tenues:

1. filtrar en la tabla dimDate – para mantener solo las fechas posteriores a la fecha de la llamada almacenadas en factCalls;

2. Filtrar en la tabla imClients: para mantener solo los ID de cliente que existen en la tabla factCalls.

Pero no puedo encontrar la fórmula correcta.

Cualquier sugerencia será muy apreciada.

Razmochaev

En respuesta a Greg_Deckler

Hola, smoupre.

Gracias por la respuesta y por la pista que nos diste. Se me ocurrió la solución que funciona:

LeadSales = CALCULATE([factSales];filter(dimClients;CONTAINS(factCalls;factCalls[ClientID];dimClients[ClientID]));filter(dimDates;dimDates[Date].[Date]>=MIN(factCalls[Date])))

Modifiqué la fórmula que sugirió porque necesitaba solo aquellas ventas que ocurrieron después del contacto inicial con el cliente potencial, es decir, a partir de la fecha en que el cliente potencial apareció en la tabla factCalls.

Y la función CONTAINS hace un gran trabajo al filtrar solo aquellos clientes que aparecen en la tabla de factCalls.

Greg_Deckler

Sigo pensando en la segunda parte. Creo que la primera parte la podrías manejar con algo como:

CALCULATE(SUM(factSales[SalesAmount]),FILTER(factSales,factSales[date]>MAX(factCalls[date])))

Razmochaev

En respuesta a Greg_Deckler

Hola, smoupre.

Gracias por la respuesta y por la pista que nos diste. Se me ocurrió la solución que funciona:

LeadSales = CALCULATE([factSales];filter(dimClients;CONTAINS(factCalls;factCalls[ClientID];dimClients[ClientID]));filter(dimDates;dimDates[Date].[Date]>=MIN(factCalls[Date])))

Modifiqué la fórmula que sugirió porque necesitaba solo aquellas ventas que ocurrieron después del contacto inicial con el cliente potencial, es decir, a partir de la fecha en que el cliente potencial apareció en la tabla factCalls.

Y la función CONTAINS hace un gran trabajo al filtrar solo aquellos clientes que aparecen en la tabla de factCalls.

Deja un comentario

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