在 Tableau 中获取 2 个最大日期

Get 2 max date in Tableau

我的要求是在报告中获得 second max date 并在此基础上过滤数据集。

我试过这样的事情:

datediff('day',dt,max(dt))=1

参考这个link

有什么帮助吗?

为此,您将需要 Tableau 9.0。基本上是因为您在 Tableau 上进行的任何计算都取决于您对工作的详细程度sheet(您放入其中的维度)。所以 datediff('day',dt,max(dt))=1 将不起作用。首先是因为您将聚合字段 (max(dt)) 与非聚合字段 (dt) 混合在一起。其次,因为聚合取决于工作域中的维度。

但是 Tableau 9.0 有一个很棒的新功能,称为详细级别计算。它允许您按照您选择的详细程度执行计算,而不是根据 sheet 上的维度。它也在对工作进行任何计算之前计算sheet(就在上下文过滤器之后)。

现在回答。首先,我会弄清楚什么是 max(dt)。我们称它为 max_dt

{ FIXED : MAX(dt) }

这将计算所有数据库中 dt 的最大值

现在要获得第二个最大值,您可以这样做:

{ FIXED : MAX(IF dt != max_dt
                 THEN dt
              END)
}

这将计算dt的最大值,忽略等于max_dt的那些(即真正的max(dt))。因此,第二个max.

看看那些 LOD 计算。它们刚刚发布,我现在玩得很开心

如果视图有 date 个维度

执行此操作的简单方法是创建一个经过计算的 Last()=1

然后过滤掉计算结果为 TRUE

的记录