Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

A new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda para encontrar la primera instancia de una oportunidad (CRM) y las instancias posteriores (a medida que cambia)

Tengo una tabla de fechas. Y una tabla de CRM (que sale de Salesforce). Tenemos una versión básica de SF, por lo que no tenemos el lujo de tener un tipo de instantánea de datos integrados en Salesforce.

Así que en un lenguaje sencillo, esto es lo que estoy tratando de hacer.

A medida que una oportunidad cambia de una etapa u otra, o incluso permanece en la misma etapa pero se aleja más en el tiempo, necesito poder rastrear la fecha original de "cierre", a cualquier fecha de cierre posterior. Tengo "instantáneas" mensuales históricas que combino cada mes de las exportaciones de SF que llegan automáticamente por correo electrónico. Así que en teoría

Fecha del archivo de instantánea de Excel (llega al final de cada mes) Nombre de oportunidad Crear fecha de cierre estimada

En última instancia, estamos tratando de averiguar los días entre la fecha de creación y cierre estimada, pero también los días transcurridos entre cada cambio.

Fecha del archivo de instantánea de Excel (llega al final de cada mes) Nombre de oportunidad Crear fecha de cierre estimada

Archivo histórico

Dic (supongamos que esta es la primera vez que aparece) Big Opp 1 Dic 9

Jan Big Opp 1 3 de marzo

Feb Big Opp 1 23 de marzo

Mar Big Opp 1 6 de abril

Entonces, usando el ejemplo anterior, nuestro vendedor estimó en el Pronóstico de Enero (que llega el último día de diciembre) que la oportunidad se cerraría el 3 de marzo. Cuando salió el siguiente pronóstico de febrero (el 31 de enero), la fecha había cambiado a una fecha de cierre del 23 de marzo. Luego, en el pronóstico de marzo (enviado el último día de febrero), la fecha de cierre estimada cambió nuevamente al 6 de abril.

Como puede ver, el archivo de pronóstico se envía el último día de cada mes, pero es para los meses siguientes.

Estamos tratando de determinar la cantidad de días entre cada turno, a partir de la instancia original de la oportunidad. Y los días entre las fechas de cierre estimadas en cada archivo de instantánea. Cualquier idea para comenzar en la dirección correcta es apreciada.

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@lbendlin Pozo... es posible que me hayas volado la cabeza. Nosotros en nuestra empresa somos todos nuevos en SF y las diversas tablas que están en el esquema. ¿Estás diciendo que tal vez haya algún tipo de marca de tiempo, para cada oportunidad en particular (y las etapas por las que pasó)? Lo veo en nuestros flujos de datos, y lo he llevado a Power Bi hace un momento. ¿Simplemente no estoy seguro de lo que estoy buscando?

Esta mesa es lo mejor desde el pan de molde. Le permite reconstruir el estado de cualquier oportunidad en cualquier momento, sin la necesidad de costosas instantáneas. De esto se trata el informe basado en eventos.

Requiere un poco de trabajo fuera de SFDC (extraemos los datos en una tabla de SQL Server y ejecutamos una pequeña función escalar sobre ella), pero le brinda la máxima flexibilidad y usuarios satisfechos. Puede mostrar el código si está interesado.

@lbendlin Muy interesante, y sí, he jugado un poco con esa mesa desde que me ayudaste a descubrirla. Lo traemos a PBi desde un flujo de datos, pero nunca lo hemos usado. Tengo curiosidad por saber si tiene algún código DAX o tal vez código M que haya utilizado como ejemplo para contar los días entre oportunidades y sus etapas.

Lo implementamos como una función de valor escalar en SQL, después de extraer la tabla incrementalmente de SFDC a SQL.

CREATE FUNCTION [SFDC].[OpportunityStatus] 
(
	@ID as varchar(20) -- opportunity id. Case sensitive, use CS_AS collation for storage
	,@TimeStamp as datetime  -- point in time for which the status is requested
	,@CreatedDate as datetime -- opportunity created date (in case the request is for a date where the opportunity did not exist)
	,@Field as varchar(50) -- attribute that the status is requested for ( for example "Forecast Category" )
	,@CurrentValue as varchar(255) -- current value of the requested attribute (in case there was no change)
)
RETURNS varchar(255)
AS
BEGIN
	DECLARE @TimeStampValue as varchar(255)  -- computed value of the attribute at the requested time
	SELECT @TimeStampValue=
	                -- return NULL when the opportunity was not alive at the time
	                case when @TimeStamp < @CreatedDate then NULL 
	                -- any change data before the timestamp? [Edit Date] desc or [History ID] ?
						else  isnull((SELECT TOP 1 [New Value] FROM [sfdc].[OpportunityFieldChanges]
					WHERE [Opportunity Id] =  AND [Field   Event] =  AND [Edit Date] <= @TimeStamp
						order by [Edit Date] desc, [History ID] COLLATE SQL_Latin1_General_CP437_BIN ) 
					-- any change data after the timestamp?
					   ,isnull((SELECT TOP 1 [Old Value] FROM [sfdc].[OpportunityFieldChanges]
					WHERE [Opportunity Id] =  AND [Field   Event] =  AND [Edit Date] > @TimeStamp
						order by  [Edit Date],[History ID] COLLATE SQL_Latin1_General_CP437_BIN desc) 
					-- use the current data from SFDC if no changes have been recorded	
						,@CurrentValue)) 
					end
	RETURN @TimeStampValue
END

No estoy seguro de si probar esto en DAX o M es una buena idea: el rendimiento podría verse afectado. Pero la idea básica sería la misma.

Una vez que esté en su lugar, puede hacer análisis increíbles: probabilidades de conversión, tiempo dedicado por etapa de ventas, "nerviosismo" de cambios de fecha de cierre, etc., etc.

Syndicate_Admin
Administrator
Administrator

¿Está diciendo que su instancia sfDC no tiene habilitado el historial de campo de oportunidades? Eso sería muy lamentable.

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Kudoed Authors