Tableau api 连接两种不同类型的表时在Tableau中进行自定义聚合

Tableau api 连接两种不同类型的表时在Tableau中进行自定义聚合,tableau-api,Tableau Api,我对Tableau相当陌生,但在其他方面对数据和SQL等相当精通 我正在开发一个仪表板,它将显示一些财务数据。两个主要类别是“实际”结果和“计划”(或预算) 实际结果是按成本中心和科目在单个交易级别上显示的。该计划位于成本中心和账户级别。例如: 实际表格: Cost Center | Account | Amount ______________________________ ABC 10023 500 ABC 10023 600 BAC

我对Tableau相当陌生,但在其他方面对数据和SQL等相当精通

我正在开发一个仪表板,它将显示一些财务数据。两个主要类别是“实际”结果和“计划”(或预算)

实际结果是按成本中心和科目在单个交易级别上显示的。该计划位于成本中心和账户级别。例如:

实际表格:

Cost Center | Account | Amount
______________________________
ABC           10023     500
ABC           10023     600
BAC           10023     250
BAC           10023     300
计划表:

Cost Center | Account | Plan Amount
___________________________________
ABC           10023     2000
BAC           10023     2300
在Tableau中将这两个表连接在一起时,计划金额在事务级别重复(显然,这是一个简单的左连接),在本例中,成本中心ABC总计为4000,而BAC总计为4600

我希望以某种方式实现的是,计划金额仅在成本中心级别聚合,而不是在事务级别聚合。在我使用的实际表格中,成本中心通过一个部门层次结构进行汇总,即一个部门可以有多个成本中心,等等,当我在一个部门或部门级别显示结果时,它确实会放大计划金额数字,它们被大大夸大了


有什么方法可以在Tableau中实现这一点吗?在SQL中,我可能会使用某种类型的窗口函数将计划金额除以每个成本中心的#笔交易数,以便正确地汇总(虽然这会导致一些舍入错误,但不会导致材料)。但不知道如何在Tableau中实现这一点。

当加入时,它将与任何正常的内部加入一样,放在事务级别上。因此,您可以选择如何处理此问题

您可以使用聚合来实现这一点,也就是说,您可以使用MIN/MAX/AVG字段代替SUM,该字段将始终返回相同的值


或者,您可以混合这些数据,而不是加入。如果在可视化层中混合,并且仅在显示成本中心级别时混合,这将防止针对所有交易进行聚合。要混合,这将是一个完全独立的数据源。它将在Tableau中“混合联接”-请参见Tableau中的数据-编辑混合关系。

这可能是数据混合而不是联接的更好用例。在聚合级别组合的单独查询。请参阅有关混合的帮助和培训材料。混合有一些棘手的边缘情况需要小心,但可以很好地解决这样的问题。是的,混合成功了。谢谢你的帮助。