0
votes

Question d'automatisation de BigQuery Google Analytics

Bonjour: Quelqu'un peut-il m'aider avec ce problème.

Toutes nos campagnes commencent par une date

"20200312_news _....."

Je veux pouvoir obtenir des informations "nouvel utilisateur" pendant une période de 7 jours (I. 2020-03-12 à 2020-03-19)

Comment puis-je automatiser ce processus? J'ai 100 de ces campagnes. Je connais ma date de début car c'est dans le nom de la campagne. Je connais ma date de fin parce que c'est juste +7.

Je veux faire du travail en baisse comme: start_date = gauche (trappefrcamaign, 8) find_date = gauche (trappe.campaign, 8) +7. Mais alors comment puis-je dire de me donner des informations de nouveaux utilisateurs de start_date à end_date. [Entrez la description de l'image ici] [1]

Ceci est mon code très basique:

Sélectionner traficsource.campaign comme campagne,

- Nouveaux utilisateurs (métrique) Compter (distinct ( CAS Quand des totaux.Newvisits = 1 puis FullVisitoriID AUTRE NUL FINIR )) Comme neufs_utilisateurs

de table_1.ga_sessions _ *

Où totale.Visites = 1 et _Table_suffix entre '20200101' Et '20201231'

groupe par Traficsource.Campaign


0 commentaires

3 Réponses :


0
votes

Si je reçois votre question correcte, vous cherchez à extraire la date du nom de la campagne, puis à tenter d'y ajouter 7 et à obtenir tous les nouveaux utilisateurs

Voici quelque chose que vous pouvez essayer P>

select PARSE_DATE('%Y%m%d',(SUBSTR('20200312_NEWS_SampleData',0,8))), DATE_ADD (PARSE_DATE('%Y%m%d',(SUBSTR('20200312_NEWS_SampleData',0,8))), INTERVAL 7 DAY)


0 commentaires

0
votes

Donc, je reçois ma date de début et la date de fin. Je suis capable d'analyser la date. Mais par exemple, si la date de début de la campagne est "2020-01-03" et la date de fin est "2020-01-10", mais les données "Nouveau utilisateur" proviennent de "2020-01-03" à " 2020- 04-05 ". Le "nouvel utilisateur" ne me donne pas de données de la plage de date "" 2020-01-03 "à" 2020-01-10 "

Mon code:

Sélectionner traficsource.campaign comme campagne,

cas quand (substraire (trappe (trappe-trafic.camagnaign, 10,4)) = 'Actualités' alors parse_date ('% Y% m% d', (substraire (trappe-trappe.camagnaign, 0,8))) Fin comme start_date, CAS QUAND (SUBSTRUM (TRADIENSOURCE.CAMPAGAGN, 10,4)) = 'Actualités' Puis DATE_ADD (Parse_Date ('% Y% M% D', (Substr (TrafalSource.camagnaign, 0,8)), intervalle 7 jours) fin comme end_date,

- Nouveaux utilisateurs (métrique) Compter (distinct ( CAS Quand des totaux.Newvisits = 1 puis FullVisitoriID AUTRE NUL FINIR )) Comme neufs_utilisateurs

de GA_SESSSIONS _ *

où les totaux.Visits = 1 et _Table_suffix entre '20190101' Et '20201231'

groupe par Traficsource.Campaign

commander par 2 desc

Entrez la description de l'image ici


1 commentaires

Une autre chose agaçante est que lorsque je change de la plage de dates à: _table_suffix entre '20180101' et '20201231' Ça me dit "Échec de l'analyse de la chaîne d'entrée" 2020xxxx "" Comment puis-je passer au-delà de cela. Si je ne peux pas analyser, puis sauter



0
votes

Je pense que je l'ai finalement compris. Mais j'ai écrit le pire code dans la galaxie. Quelqu'un peut-il m'aider à le rendre plus efficace:

Sélectionner table_xyz.campaign, table_xyz.start_date, table_xyz.end_date, somme (col_1) De (

Sélectionner b. Campagne, start_date, end_date,

(cas quand.Date> = b.start_date et a.date <= b.end_date puis somme (A.New_USers) finalement) comme col_1

de table_1.vw_ga_table1 a Rejoindre extérieur gauche table_2.ga_tably2 B

sur A.Camp = B.Campaign

groupe par B.Camaign, a.date, b.start_date, b.end_date

Commander par B.Campaign Desc) Table_xyz

groupe par table_xyz.campaign, table_xyz.start_date, table_xyz.end_date


0 commentaires