2017-05-04 13 views
1

Firebase에서 맞춤 이벤트를 BigQuery로 내 보낸 경우 여러 개의 키 - 값 매개 변수가있을 수 있습니다. "표준 SQL"을 사용하여 이들 중 하나 이상을 선택하는 방법을 알아낼 수 없습니다.BigQuery 다중 키 값 선택

How would I project both msg and succes values (string_value and int_value) into one record

+0

저는 Stackoverflow 및 그 사용자에게 가치를 추가하는 데 필요한 최소한의 완전하고 검증 가능한 질문이 필요하다는 것을 알고 있습니다. 그러나 피사체 주변의 기존 질문 (자연스럽게 처음 본)은 너무 크고 복잡했습니다. BigQuery 차원에서 여러 개의 키 - 값 매개 변수를 추출하는 방법을 알고 싶었습니다. Elliott Brossard의 회신은 나를 위해 아름답게 작동 했으므로 다른 사람들도 그렇게해야합니다. –

답변

2

의 당신이 firebase_event_origin에 해당하는 string_value을 선택하고 싶어하고 int_value 모든 control_reading 이벤트에 대한 firebase_screen_id과 관련된한다고 가정 해 봅시다. 다음과 같이 쿼리를 표현할 수 있습니다 :

#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

그래서 중요한 것은 하위 쿼리가있는 차원에서 CROSS JOIN UNNEST를 사용하는 것입니다. 매력처럼 작동합니다, 감사합니다! –