在Tableau中获得2个最大日期

时间:2015-04-09 12:17:02

标签: tableau

我的要求是在报告中提供second max date并过滤此数据集。

我试过这样的事情:

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

参考此link

任何帮助?

2 个答案:

答案 0 :(得分:4)

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

但Tableau 9.0有一个新的很棒的功能,称为细节级别计算。它允许您根据所选的细节级别执行计算,而不是取决于工作表上的尺寸。它也是在工作表上的任何计算之前计算的(仅在上下文过滤器之后)。

现在回答。首先,我会弄清楚什么是最大值(dt)。我们称之为max_dt

{ FIXED : MAX(dt) }

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

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

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

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

看看那些LOD计算。他们刚刚被释放,我现在和他们一起玩得很开心

答案 1 :(得分:0)

如果视图具有date尺寸

执行此操作的简便方法是创建计算Last()=1

然后过滤掉评估为TRUE

的记录