Tableau创建唯一的最大日期

时间:2019-04-19 04:21:54

标签: tableau tableau-online

我需要获得Max([Date])的唯一值。

我有此最大日期的计算:

{ FIXED [City] : Max([Date]) }

计数:

IF[Max Date (Last Street)]= [Date] 
THEN [Count Record]
Else 0
END

例如:

City    Date              Street        I get (Count)        I Want (Count)
Miami   01/01/2019        1st            0                    0
Miami   01/02/2019        2nd            0                    0
Miami   01/03/2019        3rd            1                    0
Miami   01/03/2019        4th            1                    1

1 个答案:

答案 0 :(得分:1)

这是将LOD计算与表计算混合使用的好情况。您的初始LOD功能看起来不错,因为它将找到每个城市的完整最大日期。从那里,您可以应用已经开始的计算字段的概念,并添加表计算(Last()):

IF ATTR([Max Date (Last Street)]) = ATTR([Date]) 
    AND LAST() == 0
THEN [Count Record]
Else 0
END

请注意,计算字段的其他部分包装在ATTR()中,使其成为聚合。

将其他城市重新添加到数据中后,您必须通过Right clicking on table calculation on view > Edit Table Calculation...编辑表计算

enter image description here

请注意以下事实:选择了特定尺寸,并且重新启动所有更改为“城市”

最终产品应如下所示:

enter image description here

替代方法:

如果您只想使用LOD,并且街道名称始终包含唯一的升序数字

If Date = {Fixed [City]: MAX(Date)} 
    AND REGEXP_EXTRACT([Street],'(\d+)') = {FIXED [City], [Date]: 
        MAX(REGEXP_EXTRACT([Street],'(\d+)'))}
Then 1
Else 0
END

以上基本上从街道上提取了电话号码,然后将其添加为已存在的MAX(Date)的条件。然后,只有同时满足两个条件,您才会获得1。

最终结果将与上面相同。