karlal
Tengo una base de datos con sesiones como esta:
Lead_id__c | Session_Start_Time__c | Tiempo de la sesión de conversión del primer cliente potencial | ID de sesión | Canal | Tipo de trafico |
x1 | 18/11/2019 18:32 | 26/11/2019 0:00 | s100 | No directo | |
x1 | 19/11/2019 19:26 | 26/11/2019 0:00 | s101 | Yahoo | No directo |
x1 | 25/11/2019 20:26 | 26/11/2019 0:00 | s102 | Directo | Directo |
x3 | 20/7/2019 6:11 | 15/1/2020 0:00 | s108 | Directo | Directo |
x3 | 21/11/2019 22:50 | 15/1/2020 0:00 | s105 | No directo | |
x3 | 15/5/2020 9:38 | 15/1/2020 0:00 | s106 | No directo | |
x3 | 19/7/2020 18:10 | 15/1/2020 0:00 | s107 | Yahoo | No directo |
x3 | 23/7/2020 6:24 | 15/1/2020 0:00 | s109 | Directo | Directo |
x3 | 23/7/2020 8:10 | 15/1/2020 0:00 | s110 | Directo | Directo |
x3 | 02/08/2020 15:46 | 15/1/2020 0:00 | s111 | No directo | |
x3 | 3/8/2020 7:18 | 15/1/2020 0:00 | s112 | Búsqueda | No directo |
Me gustaría tener una medida que cuente la primera sesión por «Canal» que fue antes o al mismo tiempo que el «Tiempo de la sesión de conversión del primer cliente potencial». También me gustaría tener un filtro de usuario en «tipo de tráfico», este filtro afectará el tiempo de la primera sesión, ya que algunas sesiones potenciales que fueron las primeras podrían filtrarse.
Esto es lo que he probado hasta ahora:
-Primero–
He creado una columna calculada en la tabla «rango de orden de sesión por ID de cliente potencial]«que clasifica las sesiones por fechas por ID de cliente potencial.
-Entonces-
TOPN (1, ‘Atribución de clientes potenciales’, ‘Atribución de clientes potenciales'[session order rank by Lead ID], ASC)
—
Esto me da esto:
Esperaba esto:
Filtro = No directo | |
Etiquetas de fila | Primer toque |
1 | |
1 | |
Gran total | 2 |
Filtro = Directo | |
Etiquetas de fila | Primer toque |
Directo | 2 |
Gran total | 2 |
Sin filtro | |
Etiquetas de fila | Primer toque |
Directo | 1 |
1 | |
Gran total | 2 |
¿Alguna sugerencia? Archivo PBX: https://www.dropbox.com/t/dNHdObA0HFUjVDwB
MFelix
En respuesta a karlal
Hola @karlal,
Eso tiene que ver con el contexto reemplaza tu medida por:
Counts Lead IDs FirstLead =
VAR MinimumDatesTable =
ADDCOLUMNS (
SUMMARIZE ( 'DIm Channel', 'DIm Channel'[Channel] ),
"@DateMin", MIN ( 'Lead Attribution'[First Lead Conversion Session Time] )
)
VAR MinStarDateSelection =
MINX( MinimumDatesTable, [@DateMin] )
VAR MinStarSessionStartTime =
CALCULATE(MIN('Lead Attribution'[Session_Start_Time__c]),ALLEXCEPT('Lead Attribution','Lead Attribution'[Lead_id__c],'Lead Attribution'[Traffic Type]))
VAR AttributionFiltered =
FILTER (
'Lead Attribution',
'Lead Attribution'[Session_Start_Time__c] = MinStarSessionStartTime&&'Lead Attribution'[Session_Start_Time__c]<=MinStarDateSelection
)
VAr CountAXX =COUNTAX(
AttributionFiltered
,DISTINCTCOUNT('Lead Attribution'[Lead_id__c])
)
Return
IF(HASONEVALUE('DIm Channel'[Channel]),CountAXX,SUMX(ALLSELECTED('Lead Attribution'[Lead_id__c]),CountAXX))
Esto puede necesitar algunos cambios en la parte SUMX.
MFelix
Hola @karlal,
No estoy seguro de entender la lógica basada en tus datos porque no puedo llegar al resultado que presentas al final de tu publicación.
He creado la siguiente medida:
Counts Value FirstLead =
VAR MinimumDatesTable =
ADDCOLUMNS (
SUMMARIZE ( 'DIm Channel'; 'DIm Channel'[Channel] );
"@DateMin"; MIN ( 'Lead Attribution'[First Lead Conversion Session Time] )
)
VAR MinStarDateSelection =
MINX ( MinimumDatesTable; [@DateMin] )
VAR AttributionFiltered =
FILTER (
'Lead Attribution';
'Lead Attribution'[Session_Start_Time__c] <= MinStarDateSelection
)
RETURN
COUNTROWS ( AttributionFiltered )
El resultado está en el archivo adjunto.
Si este no es el resultado esperado, puede compartir cuáles son las líneas que cuentan para cada uno de los cálculos que presenta y cómo selecciona esa línea.
Lo que supongo en mi cálculo es que recoges para cada canal cuál es el primer cliente potencial más bajo y luego todas las fechas que son más bajas que eso.
para el filtro No he recogido las siguientes líneas:
Lead_id__c | Session_Start_Time__c | Tiempo de la sesión de conversión del primer cliente potencial | ID de sesión | Canal | Tipo de trafico |
x1 | 18/11/2019 18:32 | 26/11/2019 00:00 | s100 | No directo | |
x1 | 19/11/2019 19:26 | 26/11/2019 00:00 | s101 | Yahoo | No directo |
x1 | 25/11/2019 20:26 | 26/11/2019 00:00 | s102 | Directo | Directo |
x3 | 20/07/2019 06:11 | 15/01/2020 00:00 | s108 | Directo | Directo |
x3 | 21/11/2019 22:50 | 15/01/2020 00:00 | s105 | No directo |
karlal
En respuesta a MFelix
@MFelix Estás en algo. Así es como termino con mis resultados filtrados esperados. Supongo que la inclusión del «Tiempo de la sesión de conversión del primer cliente potencial» es superflua en este cálculo, pero es importante cuando haré lo mismo para el último toque antes o en el «Tiempo de la sesión de conversión del primer cliente potencial».
MFelix
En respuesta a karlal
Hola @karlal,
Lo siento, pero aún no entiendo cuáles son las fechas que desea comparar y con qué valores.
Al observar sus datos, cuál es la fecha mínima con la que se compara y por qué considera una fecha o no en su cálculo.
Solo estoy confundido acerca de por qué considera algunas fechas, por ejemplo, cuando no tiene filtro, ¿por qué el valor considera el 18 de noviembre y no el 20 de julio? ¿Es porque la Sesseion es menor o porque la primera derivación es menor?
karlal
En respuesta a MFelix
@MFelix Lo siento si no he sido claro. Quizás si empiezo desde el principio. Necesito atribuir una campaña a cada ID de cliente potencial y luego, en mi suma visual, los ID de cliente potencial a la campaña «Primer contacto» que se atribuyeron al filtro. Su pregunta sobre por qué el 18 de noviembre sobre el 20 de julio se debe a que el ID del cliente potencial es diferente.
MFelix
En respuesta a karlal
Hola @karlal,
Entonces, ¿la primera información que establece la fecha es el número de identificación del cliente potencial? entonces, ¿el ID de cliente potencial más bajo es el que se considera la fecha?
karlal
En respuesta a MFelix
@MFelix No, es por ID de cliente potencial. Quiero encontrar la primera sesión por ID de cliente potencial. En el caso de que no se apliquen filtros al tipo de tráfico, este es S100 para el ID de cliente potencial x1 y s108 para el cliente potencial x3. S100 tiene «Google» como canal y s108 tiene «Directo», por lo tanto:
Me he acercado un poco más a lo inspirado por su respuesta inicial.
Counts Lead IDs FirstLead =
VAR MinimumDatesTable =
ADDCOLUMNS (
SUMMARIZE ( 'DIm Channel', 'DIm Channel'[Channel] ),
"@DateMin", MIN ( 'Lead Attribution'[First Lead Conversion Session Time] )
)
VAR MinStarDateSelection =
MINX( MinimumDatesTable, [@DateMin] )
VAR MinStarSessionStartTime =
CALCULATE(MIN('Lead Attribution'[Session_Start_Time__c]),ALLEXCEPT('Lead Attribution','Lead Attribution'[Lead_id__c],'Lead Attribution'[Traffic Type]))
VAR AttributionFiltered =
FILTER (
'Lead Attribution',
'Lead Attribution'[Session_Start_Time__c] = MinStarSessionStartTime&&'Lead Attribution'[Session_Start_Time__c]<=MinStarDateSelection
)
VAr CountAXX =COUNTAX(
AttributionFiltered
,DISTINCTCOUNT('Lead Attribution'[Lead_id__c])
)
Return CountAXX
Esto me lleva al filtrado correcto, pero el total es incorrecto.
MFelix
En respuesta a karlal
Hola @karlal,
Eso tiene que ver con el contexto reemplaza tu medida por:
Counts Lead IDs FirstLead =
VAR MinimumDatesTable =
ADDCOLUMNS (
SUMMARIZE ( 'DIm Channel', 'DIm Channel'[Channel] ),
"@DateMin", MIN ( 'Lead Attribution'[First Lead Conversion Session Time] )
)
VAR MinStarDateSelection =
MINX( MinimumDatesTable, [@DateMin] )
VAR MinStarSessionStartTime =
CALCULATE(MIN('Lead Attribution'[Session_Start_Time__c]),ALLEXCEPT('Lead Attribution','Lead Attribution'[Lead_id__c],'Lead Attribution'[Traffic Type]))
VAR AttributionFiltered =
FILTER (
'Lead Attribution',
'Lead Attribution'[Session_Start_Time__c] = MinStarSessionStartTime&&'Lead Attribution'[Session_Start_Time__c]<=MinStarDateSelection
)
VAr CountAXX =COUNTAX(
AttributionFiltered
,DISTINCTCOUNT('Lead Attribution'[Lead_id__c])
)
Return
IF(HASONEVALUE('DIm Channel'[Channel]),CountAXX,SUMX(ALLSELECTED('Lead Attribution'[Lead_id__c]),CountAXX))
Esto puede necesitar algunos cambios en la parte SUMX.