sql - 在 Postgres 中生成计算字段以在 Tableau 中使用

标签 sql postgresql calculated-columns sql-view tableau-api

我正在使用一个 PostgreSQL 数据库,该数据库有多个表,包括订单和客户。我的大部分分析都是在 Tableau 中进行的,虽然可能(我认为),但如果我可以将数据导入 Tableau 并计算出一些新字段,那会容易得多。

特别想

  1. 在 Customers 表中添加一个字段,计算截至今天 () 为止客户的订单数量,以及
  2. 向 Orders 添加一个字段,告知相关客户截至当前行订单日期已下的订单数量(本质上是客户数量的“第 N 个订单”)。

最终目标是对新客户和回头客进行分析,并根据客户的第 1 个订单、第 5 个订单等来分析订单的特征。

我的想法是在连接 Tableau 之前生成字段并编写计算来填充它们。我对 SQL 没有太多经验,所以想了解我的选择是什么来实现这一目标。有什么建议吗?

最佳答案

除非性能是您的首要要求并且这些计算很昂贵,否则不要添加列来存储冗余信息。

即使一切都与性能有关,MATERIALIZED VIEW通常是更好的方法,因此您可以将实际信息与冗余的、功能相关的工作表分开。

在所有其他情况下,您宁愿使用 VIEW ,它动态计算派生列。这是 SQL 的标准功能,通常比新手想象的要快。

或者您可以使用函数模拟“计算字段”。用于特殊目的..

关于sql - 在 Postgres 中生成计算字段以在 Tableau 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25516679/

相关文章:

python - 如何创建包含所有相关文本的单个列?

sql - PostgreSQL 触发器根据条件添加/删除数据

node.js - 如何在 Sequelize 中使用 ManyToMany 关联将动态附加属性添加到联结表中

mysql - SQL仅选择列上具有最大值的行

perl - 如何确保数据库(Postgres)连接在准备和执行之间仍然有效?

sql - 如何从 Postgres 表中的 ltree 中删除特定标签?

vba - 需要一个简单的搜索功能来显示列中最常见的值。 (有模棱两可的选择)

mysql - 通过 ActiveRecord 访问 SQL 计算列

mysql - 尝试根据另一个值从 5 个不同的表中获取一个值

sql - LEFT JOIN 返回空结果集