如何根据画面中的组求和

how to sum based on groups in tableau

所以我有 2 table 加入了 Tableau。首先table是3个合同项目:
项目 |合同 |地点 |金额
项目1 |合同1 |得克萨斯 | 100
项目1 |合同2 |得克萨斯 | 200
项目1 |合同3 |得克萨斯 | 300
项目2 |合同1 |纽约 | 1000
项目2 |合同2 |纽约 | 2000
项目2 |合同3 |纽约 | 3000

第二个table是合同详情:
项目 |合同 |详情 |风险
项目1 |合同1 |一个 | 0.5
项目1 |合同1 |乙 | 0.9
项目1 |合同1 | c | 0.99
项目2 |合同3 |一个 | 0.2
项目2 |合同3 |乙 | 0.45
项目2 |合同3 | c | 0.33

我正在制作仪表板,因此必须加入这些 table,问题是一旦加入,结果 table 在第一个 table 的金额字段中有重复项。所以如果我想按位置计算总和(数量),它会计算:
德克萨斯州 100 + 100 + 100 + 200 + 300,当我想要 100+200+300 时。既然我加入了 table,我如何才能从第一个 table 获得德克萨斯州的总和?

泛泛而谈..不知道您可能遇到的 tableu 具体问题..

如果详细信息/风险信息与您正在做的工作无关,那么 select 加入前的不同值。

SELECT 
    *
FROM 
     (Distinct Project,Contract) Table2 AS a
     INNER JOIN Table1 as b
         ON a.Project = b.Project
         AND a.Contract = B.Contract

如果其他数据与您相关,那么您需要弄清楚如何对其进行去规范化。在这种情况下,您将如何在匹配的行中分配风险以在每个区域创建一行。 .. 说这不是风险,说这是你想加起来的费用分解,你可以这样做

SELECT 
    b.*
    ,sum(a.cost)
FROM 
     Table2 AS a
     INNER JOIN Table1 as b
         ON a.Project = b.Project
         AND a.Contract = B.Contract
GROUP BY
    a.Project
    a.Contract

不确定这是否有帮助?

嗯..如果不知道你在做什么,这会很棘手..但我有两个建议:

  1. 通过将这两个字段添加到一起来创建一个项目-合同列,然后加入该列。

例如,当我在 excel 中使用 powerpivot 并且我正在处理销售订单时,我经常需要创建像 :=A1&"-"&B1 这样的列来给我一个“1234-10”类型的结果。

  1. 规范化(使用数据库中的视图)将您的项目单独放入 table(可能包含总成本),以便所有其他 table 仅 [=36= 】 在那之上。 - 我必须试一试,看看结果如何。

..我只是把这些想法放在那里,因为它们可能会有所帮助,但很抱歉,如果它们只是令人困惑。