计算画面中的窗口平均值

我有一个包含几个表的数据集:orders、order_items 和 billings。 Orders 和 Billings 每个 orderID 将有一行,但 order_items 每个 orderID 可以有多个行。 OrderID 可以属于 4 个位置之一。

我正在尝试使用 Tableau 计算每个位置的平均计费总额。但是,当我跨位置执行平均(计费总额)时,看起来 Tableau 首先将所有行的计费总额值相加,因此如果一个订单有多个 order_item 行,它会将计费总额加在一起以获得“总计”对于那个 orderID——然后取它们的平均值。

有没有办法让 Tableau 在不将子字段相加的情况下计算 orderID 的平均值?或者专门告诉它在 orderID 级别聚合,而不将 orderID 添加到行/列架?

stack overflow Calculate window average in tableau
原文答案

答案:

作者头像

我知道这是一个老问题,但这是一个现在可以通过 LOD 表达式轻松解决的问题。 This is more information on LOD's

如果没有看到您的数据或工作簿,我会认为它看起来像这样:

    {FIXED [orderID] : AVG([total billing]}
作者头像

编辑您的表格 Calculation--> select Advance setting take in Location OrderID in this order click ok at level Drop Down Select Location at restarting Every OrderID

或者您可以使用新的计算字段:{Fixed [OrderID], [Location] : AVG(Order)

如果可能的话,带有您想要仅用 3-5 行实现的虚拟数据的示例图像会有所帮助

作者头像

假设您的数据就像

enter image description here

在此使用此计算字段可能会完全按照您的意愿提供帮助

{FIXED [Location]: AVG({FIXED [Order Id] : AVG([Value])})}

查看

enter image description here

方法2

如果您不想在视图中包含 order_id 您也可以使用此计算

{INCLUDE [Order Id] : avg([Value])}

enter image description here