BigQuery 查询仅附加具有 Facebook 广告洞察力的表 return ARRAY 类型的列 website_ctr 不能用于 SELECT DISTINCT
BigQuery querying append only tables with Facebook ads insights return Column website_ctr of type ARRAY cannot be used in SELECT DISTINCT
我正在将所有 Facebook 见解同步到 BigQuery。这是一个仅附加的 table,这意味着我必须获取最新的批次。所以我试图通过使用 campaign_id 作为主键来 select 最新的一批。但是当我尝试使用文档中的查询来执行此操作时,我收到了此错误。有谁知道如何从 BigQuery 查询最新批次?
我正在使用 stichdata 的集成将数据推送到 BigQuery。
参考:
https://www.stitchdata.com/docs/data-structure/querying-append-only-tables#latest-version-every-row
https://www.stitchdata.com/docs/integrations/saas/facebook-ads#ads-insights
这是来自 BigQuery 的查询问题
Column website_ctr of type ARRAY cannot be used in SELECT DISTINCT
这是我正在使用的查询
SELECT DISTINCT o.* FROM `xxx.facebook_ads.ads_insights` o
INNER JOIN (
SELECT campaign_id,
MAX(_sdc_sequence) AS seq,
MAX(_sdc_batched_at) AS batch
FROM `xxx.facebook_ads.ads_insights`
GROUP BY campaign_id) oo
ON o.campaign_id = oo.campaign_id
AND o._sdc_sequence = oo.seq
AND o._sdc_batched_at = oo.batch
尝试以下 BigQuery 标准 SQL
#standardSQL
SELECT ANY_VALUE(o).*
FROM `xxx.facebook_ads.ads_insights` o
INNER JOIN (
SELECT campaign_id,
MAX(_sdc_sequence) AS seq,
MAX(_sdc_batched_at) AS batch
FROM `xxx.facebook_ads.ads_insights`
GROUP BY campaign_id
) oo
ON o.campaign_id = oo.campaign_id
AND o._sdc_sequence = oo.seq
AND o._sdc_batched_at = oo.batch
GROUP BY o.campaign_id
如您所见,更改实际上是在代码的第一行(在 SELECT 语句中)和查询末尾的额外行 (GROUP BY) - 相对简单的修复
我不熟悉 Facebook 洞察力数据,因此无法在上面进行测试 - 但对于我可以从问题中的细节进行逆向工程的简单案例 - 它应该有效!
我正在将所有 Facebook 见解同步到 BigQuery。这是一个仅附加的 table,这意味着我必须获取最新的批次。所以我试图通过使用 campaign_id 作为主键来 select 最新的一批。但是当我尝试使用文档中的查询来执行此操作时,我收到了此错误。有谁知道如何从 BigQuery 查询最新批次?
我正在使用 stichdata 的集成将数据推送到 BigQuery。 参考: https://www.stitchdata.com/docs/data-structure/querying-append-only-tables#latest-version-every-row https://www.stitchdata.com/docs/integrations/saas/facebook-ads#ads-insights
这是来自 BigQuery 的查询问题
Column website_ctr of type ARRAY cannot be used in SELECT DISTINCT
这是我正在使用的查询
SELECT DISTINCT o.* FROM `xxx.facebook_ads.ads_insights` o
INNER JOIN (
SELECT campaign_id,
MAX(_sdc_sequence) AS seq,
MAX(_sdc_batched_at) AS batch
FROM `xxx.facebook_ads.ads_insights`
GROUP BY campaign_id) oo
ON o.campaign_id = oo.campaign_id
AND o._sdc_sequence = oo.seq
AND o._sdc_batched_at = oo.batch
尝试以下 BigQuery 标准 SQL
#standardSQL
SELECT ANY_VALUE(o).*
FROM `xxx.facebook_ads.ads_insights` o
INNER JOIN (
SELECT campaign_id,
MAX(_sdc_sequence) AS seq,
MAX(_sdc_batched_at) AS batch
FROM `xxx.facebook_ads.ads_insights`
GROUP BY campaign_id
) oo
ON o.campaign_id = oo.campaign_id
AND o._sdc_sequence = oo.seq
AND o._sdc_batched_at = oo.batch
GROUP BY o.campaign_id
如您所见,更改实际上是在代码的第一行(在 SELECT 语句中)和查询末尾的额外行 (GROUP BY) - 相对简单的修复
我不熟悉 Facebook 洞察力数据,因此无法在上面进行测试 - 但对于我可以从问题中的细节进行逆向工程的简单案例 - 它应该有效!