问题标签 [legacy-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-analytics - 在 BigQuery 中按命中范围的自定义维度过滤会话
我正在使用 BigQuery(ga360 导出)中的 GA 数据。我有一个在很多领域工作的 GA 资源。每个都有自己的自定义维度(命中级范围,索引 = 9),其值为项目名称:project1、project2 等(1 个项目中可以加入多个域)。我需要计算仅访问 project1 并且没有访问其他项目的用户的访问次数。我的查询:
问题是这个查询为我提供了一个会话图,这些会话在 project1 上至少有 1 次命中,而不管在其他项目上是否有命中。我尝试通过 WHERE 和 HAVING 子句排除,结果是一样的。我怎样才能正确过滤它?
sql - BigQuery SQL:无法查询重复字段的叉积/
我的目标是从所有访问者中过滤,仅分析客户(其中包含客户customDimension.index =2
,然后进一步过滤客户的特定类型的综合浏览量。
我得到错误(使用 StandardSQL):
对于旧版 SQL:
错误:无法查询重复字段 customDimensions.index 和 hits.contentGroup.contentGroup2 的叉积。
编辑:
返回:
我尝试使用UNNEST(hits.type) = 'PAGE' AND UNNEST(hitscontentGroup.contentGroup2) = 'important'
which
更正 3:20 行Error: Syntax error: Unexpected keyword UNNEST at [3:15]
sql - BiqQuery 错误:无法加入重复字段“customDimensions.value”
简而言之,我有以下 SQL 语句,table
其中包含id
我需要获取过去一年的网站行为的 s 列表。这些id
s 应该匹配customDimensions.value
我得到错误:
错误:无法加入重复字段 customDimensions.value
sql - Bigquery SQL:使用键值表转换表值
我有两张桌子。第一个表包含键值数据:
第二个表包含收集的数据
如何加入这些表,以便将第二个表中的 Fruit 列替换为第一个表中的 Fruit 值?
我尝试了以下方法:
我收到以下错误:
ON 子句必须是 AND of = 比较每个表中的一个字段名,所有字段名都以表名作为前缀。考虑使用标准 SQL .google.com/bigquery/docs/reference/standard-sql/),它允许不等式 JOIN 以及涉及表达式和残差谓词的比较。
此外,我无法获得 UPDATE、SET 来处理 bigquery。
google-bigquery - bigquery 中一年一周的滑动窗口聚合
我的问题是关于 bigquery 中的滑动窗口总结。
我有一张如下表
在这里,每周的范围可以从 01 到 53。例如,2014 年有上周,即 201452,但 2015 年有上周,即 201553。如果它让生活更轻松,我只有 5 年,2013 年、2014 年、2015 年, 2016 年和 2017 年,只有 2015 年的周数达到 53 周。
现在对于每次运行,我都试图获得值的滑动窗口总和。每个 都假定当前 run_id (例如)year_week
的下一个 5(包括它自己)的值的总和。例如,以下可能是当前表的输出year_week
001
为了解释发生了什么, 201451 包括它自己在内的接下来的 5 周将是 201451,201452,201501,201502,201503 。如果当前表中有这些周的值,run_id
我们只需将它们相加,即 5+8+1+0+0,因为year_week
如果 a 不在表中,则对应的值为 0。
是否可以在 bigquery 中使用滑动窗口操作来做到这一点?
sql - BigQuery 中的多个左连接
我正在尝试使我在 BigQuery 中拥有的当前工作的 SQL 查询更加简化,并且遇到了以下问题:
错误:ON 子句必须是 AND of = 比较每个表中的一个字段名称,所有字段名称都以表名称为前缀。考虑使用标准 SQL .google.com/bigquery/docs/reference/standard-sql/),它允许不等式 JOIN 以及涉及表达式和残差谓词的比较。
下面是给出上述错误的查询。第一个 LEFT JOIN 有效。当我在下面添加第二个时,我开始收到错误。我要做的是获取人类可读的 own.o.firstname 和 own.o.lastname 值,而不是交易记录的 owner_id 值(o.properties.hubspot_owner_id.value),但为了做到这一点,我需要加入一些表。
我不得不在第二个 JOIN 的 ON 子句上使用 CAST,因为每个表的各自架构中的字段类型不同。如果我不这样做,我会收到以下错误:错误:连接键 o.properties.hubspot_owner_id.value (string) 和 o.ownerid (int64) 具有无法自动强制转换的类型。
WHERE 子句只是一个禁止列表,不返回已从数据库中删除的条目。
google-bigquery - bigquery,“子表”可能吗?
在使用旧版 sql 的 bigquery 中,我创建了一个可怕的查询,该查询返回以下我在 2018 年 2 月 26 日发布的网站的每日访问量显示:
我真正想要的是
因此,我希望发布日期的实际访问次数、发布日期后的第二天以及之后的所有访问次数都应该相加。我是 bigquery 的新手(也是 sql 的新手......)。有没有办法将我的第一个显示定义为“子表”或类似的东西,以便我可以做到这一点,或者你会推荐什么方法?
google-bigquery - 如果使用子查询,Google Big Query 会收取查询全表的费用
我有一个分区表,并试图将我的搜索限制在几个分区。为此,我正在运行一个查询(使用旧版 SQL),如下所示:
我使用 限制主查询和子查询_PARTITIONTIME
,所以大查询应该只需要搜索那些分区。当我运行这个查询时,虽然我得到了账单,就好像我只是查询了整个表而不使用_PARTITIONTIME
. 为什么会这样?
UPDATE 使用标准 SQL 的等效查询没有这个问题,所以使用它作为解决方法。我仍然想知道为什么会发生这种情况。如果这只是一个错误,或者如果旧版 SQL 实际上确实尝试访问表中的所有数据以进行这样的查询。
sql - Big query replace a letter in a string by position
I would to like to replace a letter in a string by position in big query. for example XXXXX, YYYYY, ZZZZZ the 5th letter in the string to 0 I've tried to use the Stuff function, but big query doesn't find the function Stuff(XXXXX, 5, 1, '0')
google-bigquery - 在第 1 行第 1 列遇到““MERGE”“MERGE”。期待:
我们必须在 BigQuery 中使用 Legacy SQL。但是,Merge 在 Legacy SQL 中不起作用。我们如何在 Legacy SQL 中编写以下查询?