在本地Microsoft SQL DB的云迁移期间,还应替换其中的OLAP多维数据集(但不能直接迁移)。有一项业务需求,就是要在Tableau中保留功能,你可以选择不同的度量和维及其相应的聚合,就像现在在连接到Tableau中的OLAP多维数据集时一样。
基础数据源视图包括ca。10个表(例如,客户,销售,付款方式,客户细分,时间)。因此,通过OLAP进行的“给我每周每个客户细分的每种付款方式的平均销售额”分析只需单击几下,在纯SQL中这已经是一件辛苦的工作了。
如何为某些BigQUery表提供已定义的聚合,而用户不必自己编写连接和聚合,这主要是因为它花费的时间比简单地拖放要多得多(SQL技能和查询执行时间不是问题)?
答案很简单:
将所有源数据连接在一起,并将其写入BigQuery的一个平面表中,该表包含与OLAP Cube中的数据源视图相同的信息。然后,Tableau连接到该表。来自多维数据集的“度量”逻辑在Tableau中实现为计算,表列为维。
复制测量值时需要注意一些事项,因为“数据源视图”中的1:n关系会导致平面表中的数据倍增。可以通过在测量定义中正确使用区分功能(例如“区分计数”)来解决此问题。
该表最终将变得很大,但是对它的查询却非常快,与具有与在Tableau中使用多维数据集相同的用户体验的OLAP多维数据集相比,性能得到了提高。
大的,扁平的,非规范化的表可以非常快速地在分析数据库上查询。但是您不能只连接所有内容:您需要仔细考虑连接的结构,以使生成的表每行具有正确的详细级别。就像您说的那样,这需要小心,但无需过多的努力即可完成。