代码之家  ›  专栏  ›  技术社区  ›  stegue88

TABLAU:获取最后一个可用值的计算字段

  •  4
  • stegue88  · 技术社区  · 11 年前

    我正在使用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())
    

    但它也不起作用。我该如何继续?

    1 回复  |  直到 10 年前
        1
  •  8
  •   e h    11 年前

    如果您使用的是Tableau 9,则可以使用LOD计算来执行此操作,该LOD计算在日期字段中查找最大值,然后检查当前日期值是否与最大日期值相同。

    [Date] == {fixed: max([Date])}
    

    正如你在下面的例子中看到的,当你使用calc作为过滤器时,你只会得到上面例子中的最后一行。

    enter image description here

    更新: 要获得每年的价值,您可以执行以下操作:

    在这里,我使用表格计算来查找每年的最大日期,然后对这些日期进行排名,并过滤到每年的最新日期(排名等于1的日期)。

    enter image description here

    !max date WINDOW_MAX(ATTR(Date))

    !rank RANK(Date)

    您需要确保表格计算是以正确的方式进行的(在这种情况下,跨越每年的值)。