我正在使用Tableau Desktop,我的数据是这样的:
KPI,date,monthValue
coffee break,01/06/2015,10.50
coffee break,01/07/2015,8.30
我想建一张这样的表
KPI, year(date), last value
coffee time, 2015, 8.30
如何设置计算字段以显示该年的最后一个可用值?我试着去做:
LOOKUP([MonthValue], LAST())
但它没有工作,并告诉我“不能混合聚合和非聚合”,所以我这样做了:
LOOKUP(sum([MonthValue]), LAST())
但它也不起作用。我应该如何继续?
发布于 2015-07-24 11:43:35
如果您使用的是Tableau9,那么您可以使用LOD计算器来执行此操作,该计算器在日期字段中查找最大值,然后检查当前日期值是否与最大日期值相同。
[Date] == {fixed: max([Date])}
正如您在下面的示例中所看到的,当您使用calc作为过滤器时,您将只从上面的示例中获得最后一行。
更新:要获取每年的值,您可以执行以下操作:
在这里,我使用表计算来找到每年的最大日期,然后对这些日期进行排名,并向下过滤到每年的最新日期(将是排名等于1的日期)。
!max date
为WINDOW_MAX(ATTR(Date))
!rank
为RANK(Date)
您需要确保表格计算是以正确的方式计算的(在这种情况下,跨越每一年的值)。
https://stackoverflow.com/questions/31608770
复制相似问题