【问题标题】:Tableau: last value calculation in calculated fieldTableau:计算字段中的最后一个值计算
【发布时间】:2015-10-19 09:41:48
【问题描述】:

我的数据集是这样的

关键绩效指标值类型日期 茶歇时间 11 0 30/06/2015 茶歇时间 12 0 31/07/2015 茶歇时间 10 0 30/11/2014 茶歇时间 10 0 31/12/2014 咖啡费用 20 1 31/07/2015 咖啡费用 20 1 31/12/2014 咖啡消费者 15 -1 31/07/2015 咖啡消费者 17 -1 31/12/2014

对于类型,0 表示分钟,1 表示美元,-1 表示人

我想要一张这样的桌子

KPI 年份(日期) YTD 茶歇时间 2015 11,5 茶歇时间 2014 10 ……

年初至今的计算是:

如果 sum([TYPE]) = 0 则 avg([VALUE])
elseif sum([TYPE]) > 0 then sum([VALUE])
elseif sum([TYPE]) 所考虑年份的最后一个值]
结束

[所考虑年份的最后一个值]是指可用的最后一个条目,如果我的表设置为年份,则在一年中,否则它必须根据我想要的时间跨度动态更改显示。

我该怎么做才能将 [所考虑年份的最后一个值] 作为可在我的 YTD 计算中使用的计算字段?

非常感谢,
斯蒂法尼亚

【问题讨论】:

  • 创建一个新的计算字段 IF MAX(DATE) THEN VALUE。将此计算字段放在您的 if 语句中
  • @FirebladeDan "计算包含错误:预期的布尔类型,找到日期。'IF' 表达式中的比较必须是布尔类型。"
  • WINDOW_MAX(IF DATE = MAX(DATE) THEN VALUE)... 右键单击​​此药丸并按日期或类似性质的东西分组。我得看看你的工作簿:/

标签: tableau-api calculated-field


【解决方案1】:

如果我理解你的问题,那么你可以在 IF 语句中使用 LOD

if sum(type) = 0 then avg([value])
elseif sum([type]) > 0 then sum(value)
elseif sum([type]) < 0 then max(if [date] = { INCLUDE kpi: max(date)} then [value] end)
end

如果考虑年份的最后一天有多个值,则取最大的值

我稍微修改了您的数据以显示结果正常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多