我在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。
帮助将不胜感激!!
答案 0 :(得分:1)
woodhead92 ,这种方法可行,但意味着您必须使用表格计算。更灵活的方法(自第8版以来可用)是Level of Details expressions:
首先,使用名为MaxDate LOD的计算字段定义整个数据集的MAX日期:
{FIXED : MAX(CreatedOnDate) }
这将始终计算表格上的最大日期(也会覆盖过滤器,如果您需要反映它们,请确保add them to context。
然后你可以使用几乎相同的计算字段,但不需要ATTR或表计算:
DATEDIFF('day', [CreatedOnDate], [MaxDate LOD])
希望这有帮助!