【问题标题】:Possible to do a pivot outside of BigQuery?可以在 BigQuery 之外进行数据透视吗?
【发布时间】:2019-05-27 04:31:17
【问题描述】:

假设我正在寻找构建以下数据透视表:

// 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

然后我可以在 BigQuery/SQL 之外(例如在 javascript 甚至 pandas 中)“构建结果”来获得旋转后的结果。

但是,当这些值不能简单地“相加”或以某种直接的方式计算时,我就会遇到麻烦。例如:

// distinct users by country

country    male       female
us         192,293    64,000
jp         1,203,203  1,000,000

有没有办法在 BigQuery 中获取一个值,以便我们可以在 BigQuery 之外进行此计算?我在这里发布了一个前面的问题,看起来你不能使用HLL_COUNT,因为那不是available outside。 [或者是否有其他类型的算法可以用于构建某种独特的草图,可以在 SQL 之外合并?]。

或者是否有另一种方法来构建我缺少的数据透视结果(BigQuery 之外)?

更新:以上示例更多是为了概述问题。实际的枢轴查询将是这样的:Get the top patent countries, codes in a BQ public dataset,在 X 轴和 Y 轴上。

【问题讨论】:

    标签: sql google-bigquery distinct hyperloglog


    【解决方案1】:

    我不明白。为什么不这样做内部 BigQuery?

    SELECT age,
           COUNTIF( gender = 'male' ) as males,
           COUNTIF( gender = 'female' ) as females
    GROUP BY age;
    

    【讨论】:

    猜你喜欢
    • 2017-07-04
    • 1970-01-01
    • 2016-06-18
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 2016-05-12
    相关资源
    最近更新 更多