我正在研究 Google 广告数据中心,并且对 bigquery(一般是 sql)比较陌生。在某种情况下,我试图通过基于参数输入来做一个动态组(我相信参数需要是一个数组?)
所以如果说我的表有四个字段(两个是数字,两个是字符串)
我想要一个场景,我正在对字符串变量中的一个或两者一起进行分组
因此,根据我的参数输入,我的数据将根据所选输入进行分组,并对数值数据应用某种数学运算(比如平均值)
目前,我只能组合不同的字符串列(假设我有年龄和姓名作为我的列,所以我有一个年龄列、一个姓名列和一个年龄名称列)但是当我的字符串列超过一个数字时,这种解决方法就会崩溃因为可能有太多的组合。
有没有办法动态提供我想按表分组的列并在我的输出中选择这些列和数值(后聚合)?
样本输入:
口袋妖怪 | 地点 | 价值 |
---|---|---|
乔尔顿 | 城市1 | 230 |
乔尔顿 | 城市2 | 210 |
翁布雷翁 | 城市2 | 240 |
翁布雷翁 | 城市2 | 180 |
翁布雷翁 | 城市3 | 180 |
埃斯佩恩 | 城市3 | 260 |
埃斯佩恩 | 城市3 | 100 |
埃斯佩恩 | 城市4 | 300 |
如果我提供 @hierarchy 参数作为字符串数组。聚合逻辑在这里是平均的。
如果输入是“口袋妖怪”,则输出
口袋妖怪 | 价值 |
---|---|
乔尔顿 | 220 |
翁布雷翁 | 200 |
埃斯佩恩 | 220 |
如果输入是“口袋妖怪,位置”,则输出
口袋妖怪 | 地点 | 价值 |
---|---|---|
乔尔顿 | 城市1 | 230 |
乔尔顿 | 城市2 | 210 |
翁布雷翁 | 城市2 | 210 |
翁布雷翁 | 城市3 | 180 |
埃斯佩恩 | 城市3 | 180 |
埃斯佩恩 | 城市4 | 300 |
注意:请注意,这只是在 2 个字段的情况下,但如果我的潜在参数输入可以有超过 3,4 个因素,并且最终输出具有按这 3,4 个因素分组的数据,然后在数值上预先决定聚合逻辑字段。