Google bigquery 您是否可以使用Tableau在BigQuery中创建像OLAP这样的预聚合维度/度量?

Google bigquery 您是否可以使用Tableau在BigQuery中创建像OLAP这样的预聚合维度/度量?,google-bigquery,tableau-api,olap,Google Bigquery,Tableau Api,Olap,在内部部署的Microsoft SQL DB的云迁移过程中,作为其一部分的OLAP多维数据集也应该被替换(但不能直接迁移)。业务需要将功能保留在Tableau中,您可以选择不同的度量和维度及其相应的聚合,这在连接到Tableau中的OLAP多维数据集时是可能的 基础数据源视图包括约10个表(例如客户、销售、付款方式、客户细分、时间)。因此,通过OLAP分析“给我每周每个客户细分的每个付款方式的平均销售额”只需点击几下,在纯SQL中,这已经是一些努力了 如何为一些BigQUery表提供已定义的聚合

在内部部署的Microsoft SQL DB的云迁移过程中,作为其一部分的OLAP多维数据集也应该被替换(但不能直接迁移)。业务需要将功能保留在Tableau中,您可以选择不同的度量和维度及其相应的聚合,这在连接到Tableau中的OLAP多维数据集时是可能的

基础数据源视图包括约10个表(例如客户、销售、付款方式、客户细分、时间)。因此,通过OLAP分析“给我每周每个客户细分的每个付款方式的平均销售额”只需点击几下,在纯SQL中,这已经是一些努力了


如何为一些BigQUery表提供已定义的聚合,而用户不必自己编写联接和聚合,主要是因为这比简单的拖放要花费更多的时间(SQL技能和查询执行时间不是问题)

答案很简单:

将所有源数据连接在一起,并将其写入BigQuery中的一个平面表中,该平面表包含与OLAP多维数据集中的数据源视图相同的信息。然后Tableau连接到此表。多维数据集的“测量”逻辑在Tableau中实现为计算,表列是维度

复制测量值时需要注意,因为数据源视图中的1:n关系会导致平面表格中的数据成倍增加。这可以通过在测量定义中正确使用不同的函数(例如“不同的计数”)来解决


该表最终将非常大,但其查询速度非常快,与OLAP多维数据集相比,性能有所提高,用户体验与在Tableau中使用多维数据集相同。

如果不通过示例说明您的需要,只有了解这两种情况的人才能回答您的问题。我觉得您正在寻找Tableau中的LOD计算,它可以在不需要预先计算的情况下聚合度量,然后与主表连接。我不知道bigquery,我不确定,也没有发布详细的答案。请提供一个简单的示例来解释您的需求。在OLAP多维数据集中预先聚合度量值或维度的原理是基于标准数据库中查询的缓慢性。缺点是只有预定义的聚合存在,限制了交互式分析的多功能性。现代以分析为中心的数据库(如BigQuery)使用不同的数据库方法(如columnstore索引)使任意聚合查询更快,从而避免了预先计算结果的需要。因此,您可能会发现根本不需要预聚合。目标是仍然对所有这些数据进行预聚合,这不是因为需要,而是因为用户可以从一组不同的选项中进行选择,例如,不同商店(列)中每种付款方式(行)的平均订单金额(度量)。这种类似于“PowerPivot”的行为比让用户首先加入表并计算平均值要快得多。在立方体定义中,我可以准备这些测量和组合。我想在Tableau中这样做/为Tableau的使用做准备。大的、扁平的、非规范化的表在分析数据库上查询非常快。但您不能只连接所有内容:您需要仔细考虑连接的结构,以便生成的表每行的详细程度完全正确。正如你所说,这需要小心,但不需要太多的努力就可以做到。