可以在 BigQuery 之外进行转换吗?
Possible to do a pivot outside of BigQuery?
假设我要构建以下枢轴 table:
// count by age
age male female
1-25 18 23
26-100 19 10
为此,我可以像这样进行基本聚合:
SELECT age, gender, count(*) GROUP BY age, gender
并得到如下结果:
gender age count
male 1-25 18
male 26-100 19
male 1-25 23
male 26-100 10
然后我可以 'build the results' 在 BigQuery/SQL 之外(例如在 javascript 甚至 pandas 中)以获得旋转结果。
然而,当值不能简单地 "added up" 或以某种直接的方式计算时,我 运行 遇到了麻烦。例如:
// distinct users by country
country male female
us 192,293 64,000
jp 1,203,203 1,000,000
有没有办法在 BigQuery 中获取一个值,以便我们可以在 BigQuery 之外进行计算?我已经在这里发布了一个前面的问题,你似乎不能使用 HLL_COUNT
,因为那不是 。 [或者是否有其他类型的算法可用于构建某种可以在 SQL 之外合并的独特草图?]。
或者是否有另一种方法来构建我缺少的数据透视结果(在 BigQuery 之外)?
更新:以上例子更多的是为了概括问题。实际的数据透视查询是这样的:,在 X 轴和 Y 轴上。
我不明白。为什么不在 inside BigQuery 中执行此操作?
SELECT age,
COUNTIF( gender = 'male' ) as males,
COUNTIF( gender = 'female' ) as females
GROUP BY age;
假设我要构建以下枢轴 table:
// count by age
age male female
1-25 18 23
26-100 19 10
为此,我可以像这样进行基本聚合:
SELECT age, gender, count(*) GROUP BY age, gender
并得到如下结果:
gender age count
male 1-25 18
male 26-100 19
male 1-25 23
male 26-100 10
然后我可以 'build the results' 在 BigQuery/SQL 之外(例如在 javascript 甚至 pandas 中)以获得旋转结果。
然而,当值不能简单地 "added up" 或以某种直接的方式计算时,我 运行 遇到了麻烦。例如:
// distinct users by country
country male female
us 192,293 64,000
jp 1,203,203 1,000,000
有没有办法在 BigQuery 中获取一个值,以便我们可以在 BigQuery 之外进行计算?我已经在这里发布了一个前面的问题,你似乎不能使用 HLL_COUNT
,因为那不是
或者是否有另一种方法来构建我缺少的数据透视结果(在 BigQuery 之外)?
更新:以上例子更多的是为了概括问题。实际的数据透视查询是这样的:
我不明白。为什么不在 inside BigQuery 中执行此操作?
SELECT age,
COUNTIF( gender = 'male' ) as males,
COUNTIF( gender = 'female' ) as females
GROUP BY age;