【发布时间】:2021-03-31 11:21:50
【问题描述】:
在本地 Microsoft SQL DB 的云迁移期间,作为其中一部分的 OLAP Cube 也应该被替换(但不是直接迁移)。业务需求是保留 Tableau 中的功能,您可以选择不同的度量和维度及其相应的聚合,就像现在连接到 Tableau 中的 OLAP 多维数据集时一样。
基础数据源视图包括 ca。 10 个表(例如客户、销售、付款方式、客户细分、时间)。因此,通过 OLAP 分析“给我每周每个客户群每种付款方式的平均销售额”只需点击几下,在纯 SQL 中已经很费力了。
如何为某些 BigQUery 表提供定义的聚合,而无需用户自己编写连接和聚合,主要是因为它比简单的拖放需要更多的时间(SQL 技能和查询执行时间不是问题)?
【问题讨论】:
-
不通过例子说明你的需求,只有知道两者的人才能回答你的问题。我觉得您正在 Tableau 中寻找 LOD 计算,它可以聚合度量而不需要预先计算,然后加入主表。我不知道我不确定并且没有发布详细答案的 bigquery。请提供一个简单的示例来解释您的需求。
-
在 OLAP 多维数据集中预聚合度量或维度的理念是基于标准数据库中查询的缓慢性。缺点是只存在预定义的聚合,限制了交互式分析的多功能性。现代以分析为中心的数据库(如 BigQuery)使用不同的数据库方法(如列存储索引)来更快地进行任意聚合查询,从而无需预先计算结果。所以你可能会发现根本不需要预聚合。
-
我们的目标是仍然预先聚合所有这些数据,不是因为需要,而是因为用户可以从一组不同的选项中进行选择,例如不同商店(列)中每种付款方式(行)的平均订单金额(测量值)。这种类似“PowerPivot”的行为比让用户先加入表格并计算平均值要快得多。在多维数据集定义中,我可以准备这些测量和组合。我想在 Tableau 中执行此操作/为 Tableau 使用做好准备。
标签: google-bigquery tableau-api olap