在 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
的记录
我的要求是在报告中获得 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