Avec un événement personnalisé dans Firebase exporté vers BigQuery, plusieurs paramètres de valeur-clé peuvent exister en son sein. Je n'arrive pas à comprendre comment en sélectionner plus que l'un d'entre eux en utilisant "SQL standard".BigQuery sélectionnez plusieurs valeurs de clé
1
A
Répondre
2
Disons que vous vouliez choisir le string_value
qui correspond à firebase_event_origin
et le int_value
associé à firebase_screen_id
pour tous control_reading
événements. Vous pouvez exprimer la requête comme suit:
#standardSQL
SELECT
(SELECT param.value.string_value
FROM UNNEST(event_dim.params) AS param
WHERE param.key = 'firebase_event_origin') AS firebase_event_origin,
(SELECT param.value.int_value
FROM UNNEST(event_dim.params) AS param
WHERE param.key = 'firebase_screen_id') AS firebase_screen_id
FROM `your_dataset.your_table_*`
CROSS JOIN UNNEST(event_dim) AS event_dim
WHERE _TABLE_SUFFIX BETWEEN '20170501' AND '20170503' AND
event_dim.name = 'control_reading';
+0
Il est donc essentiel d'utiliser CROSS JOIN UNNEST sur la dimension avec sous-requêtes. Fonctionne comme un charme, merci! –
Je comprends que les questions doivent être minimes, complètes et vérifiables pour pouvoir ajouter de la valeur à Stackoverflow et à ses utilisateurs. Cependant, les questions existantes autour du sujet (que j'ai cherché naturellement d'abord) étaient trop grandes et complexes. Tout ce que je voulais vraiment savoir, c'est comment extraire plusieurs paramètres de valeur-clé dans une dimension BigQuery. La réponse d'Elliott Brossard a fonctionné à merveille pour moi, tout comme d'autres. –