Tableau api 表:计算字段中的最后一次值计算

Tableau api 表:计算字段中的最后一次值计算,tableau-api,calculated-field,Tableau Api,Calculated Field,我的数据集是这样的 KPI VALUE TYPE DATE coffee break duration 11 0 30/06/2015 coffee break duration 12 0 31/07/2015 coffee break duration 10 0 30/11/2014 coffee break duration 10

我的数据集是这样的

KPI VALUE TYPE DATE coffee break duration 11 0 30/06/2015 coffee break duration 12 0 31/07/2015 coffee break duration 10 0 30/11/2014 coffee break duration 10 0 31/12/2014 coffee expense 20 1 31/07/2015 coffee expense 20 1 31/12/2014 coffee consumers 15 -1 31/07/2015 coffee consumers 17 -1 31/12/2014 KPI Year(date) YTD coffee break duration 2015 11,5 coffee break duration 2014 10 .... KPI值类型日期 咖啡休息时间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 2015年7月31日 咖啡消费者17-1 2014年12月31日 对于类型,0表示分钟,1表示美元,-1表示人

我想要一张这样的桌子

KPI VALUE TYPE DATE coffee break duration 11 0 30/06/2015 coffee break duration 12 0 31/07/2015 coffee break duration 10 0 30/11/2014 coffee break duration 10 0 31/12/2014 coffee expense 20 1 31/07/2015 coffee expense 20 1 31/12/2014 coffee consumers 15 -1 31/07/2015 coffee consumers 17 -1 31/12/2014 KPI Year(date) YTD coffee break duration 2015 11,5 coffee break duration 2014 10 .... 关键绩效指标年度(日期)年初至今 咖啡休息时间2015年11月5日 咖啡休息时间2014年10月 .... 年初至今的计算是:

如果总和([TYPE])=0,则平均值([VALUE])
elseif sum([TYPE])>0,然后sum([VALUE])
elseif sum([TYPE])<0,然后[所考虑年份的最后一个值[/strong>]
结束

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

如何将所考虑年份的[最后一个值]作为计算字段,以便在我的YTD计算中使用

非常感谢,

Stefania

如果我理解您的问题,那么您可以在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
如果总和(类型)=0,则为平均值([值])
elseif sum([type])>0,然后sum(value)
elseif sum([type])<0然后max(如果[date]={INCLUDE kpi:max(date)}那么[value]end)
结束
如果在考虑的年份的最后一天有几个值,则取最大值

我稍微修改了你的数据,以表明结果是正确的

如果最大值(日期),则创建一个新的计算字段,然后选择值。将此计算字段放入if中statement@FirebladeDan计算包含错误:应为布尔类型,找到日期。“IF”表达式中的比较必须为布尔类型。“WINDOW_MAX(IF date=MAX(date)THEN VALUE)。。。右键单击此药丸并按日期或类似性质分组。我必须看一下你的工作手册:/