J'ai la requête SQL suivante, que j'ai reçue du blog Lunametrics. Fonctionne bien. Cependant, ce que je veux être en mesure de faire est d'avoir une colonne supplémentaire montrant la valeur d'une variable personnalisée au niveau de la session.Jours depuis la dernière session - pour les utilisateurs ayant une dimension personnalisée au niveau session - BigQuery - Google Analytics
Ce que j'ai droit est maintenant:
SELECT
fullvisitorid,
visitId,
DATEDIFF(SEC_TO_TIMESTAMP(visitStartTime),
SEC_TO_TIMESTAMP(prevVisitStartTime)) AS daysSinceLastSession,
FLOOR((visitStartTime - prevVisitStartTime)/60) as minutesSinceLastSession
FROM (
SELECT
fullvisitorid,
visitId,
visitStartTime,
LAG(visitStartTime) OVER (PARTITION BY fullvisitorid ORDER BY visitStartTime
ASC) AS prevVisitStartTime
FROM
TABLE_DATE_RANGE([DATA],
TIMESTAMP ('2017-04-01'),
TIMESTAMP ('2017-04-08')))
J'ai essayé d'introduire une colonne pour une dimension personnalisée avec un indice de 30, mais sans succès. Fondamentalement, je veux juste être en mesure de voir les jours depuis la dernière session pour les visiteurs qui contenaient cette dimension personnalisée. Mon code pour cela est:
max(case when hits.customdimensions.index = 30 then hits.customdimensions.value end) customerId
EDIT: cela montre que je pensais que je pouvais introduire cette dimension personnalisée comme une nouvelle colonne, mais ne fonctionne pas.
SELECT
fullvisitorid,
max(case when hits.customdimensions.index = 30 then
hits.customdimensions.value end) customerId,
visitId,
DATEDIFF(SEC_TO_TIMESTAMP(visitStartTime),
SEC_TO_TIMESTAMP(prevVisitStartTime)) AS daysSinceLastSession,
FLOOR((visitStartTime - prevVisitStartTime)/60) as minutesSinceLastSession
FROM (
SELECT
fullvisitorid,
max(case when hits.customdimensions.index = 30 then
hits.customdimensions.value end) customerId,
visitId,
visitStartTime,
LAG(visitStartTime) OVER (PARTITION BY fullvisitorid ORDER BY
visitStartTime ASC) AS prevVisitStartTime,
FROM
TABLE_DATE_RANGE([DATA],
TIMESTAMP ('2017-04-01'),
TIMESTAMP ('2017-04-08')))
Toute suggestion reçue avec gratitude.
Qu'est-ce que 'hits'? Est-ce la table que vous utilisez? –
Il s'agit du nom de champ pour la dimension personnalisée, qui existe dans les données Google Analytics avec l'index '30'. – user3156990