Tableau - table 中日期和最大日期之间差异的计算字段
Tableau - Calculated field for difference between date and maximum date in table
我在 Tableau 中加载了以下 table(它只有一列 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 |
+-----------------+
我希望能够找到 table 中的最大日期,将其与 table 中的每个日期进行比较并获得天数差异。对于上面的 table,table 中的最大日期是 1/14/2016。每个日期都与 1/14/2016 进行比较以找出差异。
预期输出
+-----------------+------------+
| 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 |
+-----------------+------------+
我的目标是创建这个 Difference 计算字段。我正在努力寻找一种使用 DATEDIFF 来执行此操作的方法。
如有帮助将不胜感激!!
woodhead92,这种方法可行,但意味着您必须使用 table 计算。更灵活的方法(自 v8 起可用)是 Level of Details expressions:
首先,使用名为 MaxDate LOD 的计算字段为整个数据集定义一个最大日期:
{FIXED : MAX(CreatedOnDate) }
这将始终计算 table 的最大日期(也会覆盖过滤器,如果您需要反映它们,请确保您 add them to context。
然后您可以使用几乎相同的计算字段,但不需要 ATTR 或 Table 计算:
DATEDIFF('day', [CreatedOnDate], [MaxDate LOD])
希望对您有所帮助!
我在 Tableau 中加载了以下 table(它只有一列 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 |
+-----------------+
我希望能够找到 table 中的最大日期,将其与 table 中的每个日期进行比较并获得天数差异。对于上面的 table,table 中的最大日期是 1/14/2016。每个日期都与 1/14/2016 进行比较以找出差异。
预期输出
+-----------------+------------+
| 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 |
+-----------------+------------+
我的目标是创建这个 Difference 计算字段。我正在努力寻找一种使用 DATEDIFF 来执行此操作的方法。
如有帮助将不胜感激!!
woodhead92,这种方法可行,但意味着您必须使用 table 计算。更灵活的方法(自 v8 起可用)是 Level of Details expressions:
首先,使用名为 MaxDate LOD 的计算字段为整个数据集定义一个最大日期:
{FIXED : MAX(CreatedOnDate) }
这将始终计算 table 的最大日期(也会覆盖过滤器,如果您需要反映它们,请确保您 add them to context。
然后您可以使用几乎相同的计算字段,但不需要 ATTR 或 Table 计算:
DATEDIFF('day', [CreatedOnDate], [MaxDate LOD])
希望对您有所帮助!