Tableau - 表中日期和最大日期之间差异的计算字段

时间:2016-10-06 22:19:29

标签: date tableau datediff

我在Tableau中加载了下表(它只有一列 CreatedOnDate

+-----------------+
| CreatedOnDate   |
+-----------------+
| 1/1/2016        |
| 1/2/2016        |
| 1/3/2016        |
| 1/4/2016        |
| 1/5/2016        |
| 1/6/2016        |
| 1/7/2016        |
| 1/8/2016        |
| 1/9/2016        |
| 1/10/2016       |
| 1/11/2016       |
| 1/12/2016       |
| 1/13/2016       |
| 1/14/2016       |
+-----------------+

我希望能够在表格中找到最大日期,将其与表格中的每个日期进行比较,并获得天数差异。对于上表,表中的最大日期为2016年1月14日。每个日期都与2016年1月14日进行比较,以找出差异。

预期输出

+-----------------+------------+
| CreatedOnDate   | Difference |
+-----------------+------------+
| 1/1/2016        |         13 |
| 1/2/2016        |         12 |
| 1/3/2016        |         11 |
| 1/4/2016        |         10 |
| 1/5/2016        |          9 |
| 1/6/2016        |          8 |
| 1/7/2016        |          7 |
| 1/8/2016        |          6 |
| 1/9/2016        |          5 |
| 1/10/2016       |          4 |
| 1/11/2016       |          3 |
| 1/12/2016       |          2 |
| 1/13/2016       |          1 |
| 1/14/2016       |          0 |
+-----------------+------------+

我的目标是创建差异计算字段。我正在努力找到一种方法来使用DATEDIFF。

帮助将不胜感激!!

1 个答案:

答案 0 :(得分:1)

woodhead92 ,这种方法可行,但意味着您必须使用表格计算。更灵活的方法(自第8版以来可用)是Level of Details expressions

首先,使用名为MaxDate LOD的计算字段定义整个数据集的MAX日期:

{FIXED : MAX(CreatedOnDate) }

这将始终计算表格上的最大日期(也会覆盖过滤器,如果您需要反映它们,请确保add them to context

然后你可以使用几乎相同的计算字段,但不需要ATTR或表计算:

DATEDIFF('day', [CreatedOnDate], [MaxDate LOD])

希望这有帮助!