我正在处理一个查询,以便在BigQuery上的一个表中的几列上执行聚合。对于此查询的一部分,我希望能够计算几个列的模式,但我找不到在查询中本机执行此操作的方法。这是可能的还是我需要在外部脚本中处理查询结果才能获得这些结果?
答案 0 :(得分:3)
// mode是组中最常出现的项目
Dim Rng As Range, Col As Variant, Rw As Variant
Set Rng = Application.Union(Range("A3:A5"), Range("C2:E4"))
For Each Rw In ActiveSheet.UsedRange.Rows
For Each Col In Rw.Columns
If Not Intersect(Col, Rng) Is Nothing Then Debug.Print Intersect(Col, Rng).Address
Next Col
Next Rw
跟进Felipe的评论,请参阅以下版本使用group by
SELECT TOP(column, 1) AS mode, COUNT(*) AS freq
FROM dataset.table
取决于您的用例 - 仍然可能需要解决一些问题,例如 tie