我正在使用一个 PostgreSQL 数据库,该数据库有多个表,包括订单和客户。我的大部分分析都是在 Tableau 中进行的,虽然可能(我认为),但如果我可以将数据导入 Tableau 并计算出一些新字段,那会容易得多。
特别想
- 在 Customers 表中添加一个字段,计算截至今天 () 为止客户的订单数量,以及
- 向 Orders 添加一个字段,告知相关客户截至当前行订单日期已下的订单数量(本质上是客户数量的“第 N 个订单”)。
最终目标是对新客户和回头客进行分析,并根据客户的第 1 个订单、第 5 个订单等来分析订单的特征。
我的想法是在连接 Tableau 之前生成字段并编写计算来填充它们。我对 SQL 没有太多经验,所以想了解我的选择是什么来实现这一目标。有什么建议吗?
最佳答案
除非性能是您的首要要求并且这些计算很昂贵,否则不要添加列来存储冗余信息。
即使一切都与性能有关,MATERIALIZED VIEW
通常是更好的方法,因此您可以将实际信息与冗余的、功能相关的工作表分开。
在所有其他情况下,您宁愿使用 VIEW
,它动态计算派生列。这是 SQL 的标准功能,通常比新手想象的要快。
或者您可以使用函数模拟“计算字段”。用于特殊目的..
关于sql - 在 Postgres 中生成计算字段以在 Tableau 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25516679/