我正在尝试使用以下查询来获取事件名称等于的行:EventGamePlayed、EventGetUserBasicInfos 或 EventGetUserCompleteInfos
select *
from [com_test_testapp_ANDROID.app_events_20170426]
where event_dim.name in ("EventGamePlayed", "EventGetUserBasicInfos", "EventGetUserCompleteInfos");
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:无法查询重复字段 event_dim.name 和 user_dim.user_properties.value.index 的叉积。
是否有可能通过没有扁平化的结果来使其工作?另外,我不确定为什么错误是在谈论“user_dim.user_properties.value.index”字段。
错误是由于SELECT *,其中包括所有列。不要使用遗留 SQL,而是使用标准 SQL尝试此操作,重复字段交叉产品不会出现此问题:
#standardSQL
SELECT *
FROM com_test_testapp_ANDROID.app_events_20170426
CROSS JOIN UNNEST(event_dim) AS event_dim
WHERE event_dim.name IN ("EventGamePlayed", "EventGetUserBasicInfos", "EventGetUserCompleteInfos");
Run Code Online (Sandbox Code Playgroud)
您可以在使用数组主题 中阅读有关使用重复字段/数组的更多信息。如果您习惯使用旧 SQL,可以在迁移指南中阅读 BigQuery 中旧 SQL 和标准 SQL 之间的差异。
| 归档时间: |
|
| 查看次数: |
5748 次 |
| 最近记录: |