Tableau api 基于对应行月份的计算字段

Tableau api 基于对应行月份的计算字段,tableau-api,Tableau Api,对于表格: Month Source Num Denom May-2016 1 28 30 May-2016 2 10 17 Jun-2016 1 40 42 Jun-2016 2 15 23 我想知道如何通过两种方式创建计算字段: 1) 仅在2016年6月(或任何相应的行月份)返回C.字段=Num/Denom 2) 从当前月份的时间(当前月份是7月,因此我希望在月份列中为

对于表格:

 Month    Source  Num    Denom

May-2016    1      28      30
May-2016    2      10      17
Jun-2016    1      40      42
Jun-2016    2      15      23
我想知道如何通过两种方式创建计算字段:

1) 仅在2016年6月(或任何相应的行月份)返回C.字段=Num/Denom

2) 从当前月份的时间(当前月份是7月,因此我希望在月份列中为对应于2016年6月的字段进行除法)返回月份列中上一个月的C.字段=Num/Denom

预计产量(仅计算2016年6月):


这是您可以明确计算一个月数据的方式:

我不确定您的
[month]
字段是文本字段还是实际日期字段,但如果是日期字段,您可以使此计算更加动态,如下所示:

SUM(IF DATEDIFF("month",[month],TODAY()) = 1 THEN [Num] END)
/
SUM(IF DATEDIFF("month",[month],TODAY()) = 1 THEN [Denom] END)

你试过什么了吗?如果我做一个
SUM[Num]/SUM[Denom]
,它会给我所有月份的总和的计算,所以我很难想出如何强制Tableau只在2016年6月做。你的预期产出是什么?如果以
月份
粒度显示数据,则计算出的结果将有效,否则它将聚合所有月份。您需要澄清您希望输出的内容。已更新输出。我正试图做到这一点。根据月份粒度进行划分,我可以指定希望Tableau计算的月份,也可以及时为当前月份之前的月份进行划分。(因为本月是七月,所以计算六月)谢谢你,先生。正是医生要的。
SUM(IF [month] = 'Jun-2016' THEN [Num] END)
/
SUM(IF [month] = 'Jun-2016' THEN [Denom] END)
SUM(IF DATEDIFF("month",[month],TODAY()) = 1 THEN [Num] END)
/
SUM(IF DATEDIFF("month",[month],TODAY()) = 1 THEN [Denom] END)