tableau-api - 连接两种不同类型的表时 Tableau 中的自定义聚合
问题描述
我对 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 中将这两个表连接在一起时,计划金额会在事务级别重复(显然,因为它是一个简单的 LEFT JOIN),在此示例中,成本中心 ABC 将总计为 4000,而对于 BAC,它将总计 4600 个。
我希望以某种方式完成的是计划金额仅在成本中心级别汇总,而不是在交易级别汇总。在我使用的实际表格中,成本中心通过部门层次结构汇总,即一个部门可以有多个成本中心等,当我在一个部门或部门级别显示结果时,它真的会炸毁计划金额数字,他们被夸大了。
有什么方法可以在 Tableau 中实现这一点吗?在 SQL 中,我可能会使用某种窗口函数将计划金额除以每个成本中心的事务数,以便正确聚合(尽管这会导致一些舍入错误,但不会导致该材料)。但不知道如何在 Tableau 中执行此操作。
解决方案
加入时,它将被置于事务级别,就像任何正常的内部连接一样。因此,您可以选择如何处理此问题。
您可以使用聚合来做到这一点 - 即您可以使用 MIN / MAX / AVG 字段而不是 SUM,这将始终返回相同的值。
或者,您可以混合这些数据,而不是加入。如果您在可视化层中混合并且仅在显示成本中心级别时混合它,这将阻止聚合所有事务。混合这将是一个完全独立的数据源。它将在 Tableau 中“混合连接” - 请参阅数据 - 在 Tableau 中编辑混合关系。
推荐阅读
- python - Python,使用值中的列表对字典列表进行排序
- python - 如何将 QTable 保存到文件(.txt、.csv 等)
- c++ - std::string 或 std::endl 的数据类型
- java - 使用其他映射器的 Spring Boot mapstruct 映射器
- django - Python Django Restframework密码验证不起作用
- tensorflow - .pb 文件到 tflite 转换时无法解析文件错误
- scala - 在 Databricks 中解析嵌套的 XML
- php - PHP将文件从其他服务器传输到用户而不下载它
- javascript - 下拉菜单显示不可见的子框,但仅在悬停在它们上时显示子文本
- c# - 在 CSharp 中查找与正则表达式匹配的文本的更好方法?