Je voudrais créer deux dynamique hebdomadaire BigQuery Firebase rapports, ce qui reflète les plus récentes 12 semaines de données pour:Firebase BigQuery Event Reporting dans Data Studio
- Occurrences événement par semaine
- utilisateurs DISTINCTS qui l'événement déclenchés par Occurrences semaine
L'inspiration pour ces rapports provenaient d'un Tableau-report j'ai vu en ligne:
Je suis en train de créer des horodateurs dynamiques pour tirer les valeurs de 1.count de event.name et user_dim.app_info.app_instance_id 2.distinct.
Mon premier Iteration:
SELECT event.name as event_name,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170724' AND _TABLE_SUFFIX < '20170731' THEN event.name END) AS W1,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170731' AND _TABLE_SUFFIX < '20170807' THEN event.name END) AS W2,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170807' AND _TABLE_SUFFIX < '20170814' THEN event.name END) AS W3,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170814' AND _TABLE_SUFFIX < '20170821' THEN event.name END) AS W4,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170821' AND _TABLE_SUFFIX < '20170828' THEN event.name END) AS W5,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170828' AND _TABLE_SUFFIX < '20170904' THEN event.name END) AS W6,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170904' AND _TABLE_SUFFIX < '20170911' THEN event.name END) AS W7,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170911' AND _TABLE_SUFFIX < '20170918' THEN event.name END) AS W8,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170918' AND _TABLE_SUFFIX < '20170925' THEN event.name END) AS W9,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20170925' AND _TABLE_SUFFIX < '20171002' THEN event.name END) AS W10,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20171002' AND _TABLE_SUFFIX < '20171009' THEN event.name END) AS W11,
COUNT(CASE WHEN _TABLE_SUFFIX >= '20171009' AND _TABLE_SUFFIX < '20171016' THEN event.name END) AS W12
FROM `<<project-id>>.app_events_*`, UNNEST(event_dim) AS event
WHERE _TABLE_SUFFIX >= '20170724' AND _TABLE_SUFFIX < '20171016'
GROUP BY event_name
ORDER BY event_name DESC;
J'ai aussi joué avec le code ci-dessous sudo:
# Enable StandardSQL SELECT week, event.name as event_name, COUNT(event.name) as event_count FROM (TABLE_DATE_RANGE([firebase-analytics-sample-data:android_dataset.app_events_],DATE_ADD(CURRENT_TIMESTAMP(), -1, 'WEEK'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'WEEK'))), .... .... .... (TABLE_DATE_RANGE([firebase-analytics-sample-data:android_dataset.app_events_],DATE_ADD(CURRENT_TIMESTAMP(), -12, 'WEEK'), DATE_ADD(CURRENT_TIMESTAMP(), -12, 'WEEK'))), UNNEST(event_dim) as event GROUP BY event_name ORDER BY week DESC LIMIT 12;
Remarque: table générique ne supporte pas les vues. La requête renvoie une erreur si la table générique correspond à des vues dans l'ensemble de données. Actuellement, les résultats en cache ne sont pas pris en charge pour les requêtes sur plusieurs tables en utilisant une fonction générique (même si l'option Utiliser les résultats en cache est cochée). Si vous exécutez la même requête générique plusieurs fois, vous êtes facturé pour chaque requête. Les tables génériques prennent en charge le stockage BigQuery natif uniquement. Vous ne pouvez pas utiliser de caractères génériques lors de l'interrogation d'une table externe ou d'une vue (source).
Pour résumer:
- Il serait beaucoup plus rapide si je ne devais pas entrer manuellement les champs de date chaque semaine, mais le script « connaît » la week's index number actuelle, nous sommes, et met à jour les données des 12 dernières semaines.
Annexe
- Semaine 30 24 Juillet, 2017 30 Juillet, 2017 20170724 20170730
- Semaine 31 31 Juillet, 2017 6 Août, 2017 20170731 20170806
- Semaine 32 Août 7, 2017 Août 13, 2017 20170807 20170813
- Semaine 33 Août 14, 2017 Août 20, 2017 20170814 20170820
- Semaine 34 Au rafale 21, 2017 27 Août 2017 20170821 20170827
- Semaine 35 28 Août 2017 3 Septembre 2017 20170828 20170903
- Semaine 36 4 Septembre 2017 10 Septembre 2017 20170904 20170910
- Semaine 37 11 Septembre 2017 Septembre 17, 2017 20170911 20170917
- semaine 38 18 Septembre 2017 24 Septembre 2017 20170918 20170924
- semaine 39 25 Septembre 2017 1 Octobre 2017 20170925 20171001
- semaine 40 2 Octobre 2017 8 Octobre 2017 20171002 20171008
- Semaine 41 9 Octobre, 2017 15 Octobre, 2017 20171009 20171015
Quelle est exactement votre question !? ;-) –
J'ai réécrit cette question pour être plus clair. Pouvez-vous le voter à nouveau s'il vous plaît? Et peut-être partager votre sagesse sur la façon d'aborder ce problème s'il vous plaît. – Dirk
À mon avis, cette question est beaucoup trop large et ne convient pas à Stack Overflow. Je suggère d'essayer quelque chose vous-même d'abord, puis revenez avec des questions plus spécifiques et briser ces questions. –