Tableau api Tableau--基于DateDiff(';月';,[date],Today())更改计算字段

Tableau api Tableau--基于DateDiff(';月';,[date],Today())更改计算字段,tableau-api,Tableau Api,我有一个计算字段最近的价格变化设置如下: IF DATEDIFF('month', [Posted Date], TODAY()) == 0 THEN [Price Change] END 这应该只保留我的数据集中最近一个月的价格变化,该数据集每月更新一次。不幸的是,在添加新数据之前的一个月的第一周,没有任何行计算为true的DATEDIFF('month',[Posted Date],TODAY())==0。目前,我已将此条件替换为DATEDIFF('month',[Posted Date]

我有一个计算字段
最近的价格变化
设置如下:

IF DATEDIFF('month', [Posted Date], TODAY()) == 0
THEN [Price Change]
END
这应该只保留我的数据集中最近一个月的价格变化,该数据集每月更新一次。不幸的是,在添加新数据之前的一个月的第一周,没有任何行计算为true的
DATEDIFF('month',[Posted Date],TODAY())==0
。目前,我已将此条件替换为
DATEDIFF('month',[Posted Date],TODAY())10
,它只删除最近一个月的价格数据(或基于我的临时修复的两个月)。我希望筛选出最近价格变化超过某个美元金额的所有部分,例如10美元

例如,对于以下两个部分,所有A部分和C部分的记录都应该被过滤掉,而所有B部分的记录都应该保留下来

part     price     price change     recent price change     date
A        52        2                2                       2019-02-01 00:00:00.000
A        50        0                null                    2019-01-01 00:00:00.000
A        50        0                null                    2018-12-01 00:00:00.000
B        79        31               31                      2019-02-01 00:00:00.000
B        48        6                null                    2019-01-01 00:00:00.000
B        42        0                null                    2018-12-01 00:00:00.000
C        51        0                0                       2019-02-01 00:00:00.000
C        51        39               null                    2019-01-01 00:00:00.000
C        12        0                null                    2018-12-01 00:00:00.000

也许我的设置不正确。我愿意接受任何想法

为了解决第一个问题,请使用数据的最大日期,而不是将计算固定在今天的日期。您可以通过详细程度计算来实现这一点

最长日期:

{max(Posted Date]}
用途:

IF DATEDIFF('month', [Posted Date], max_date) == 0
THEN [Price Change]
END
对于第二个问题,再次使用LOD计算来修复每个零件所有日期的最近价格变化。您可以将本例中的10设为参数,以便用户可以确定截止值

{fixed [Part] : sum([Recent Price Change])}>10
这将对所有日期应用T/F


您的解决方案的第二部分遇到了问题,尽管这对我来说很有意义。我创建了一个名为“最近价格变化截止点”的参数和一个如上所述的计算字段,但我的参数替换了10。然而,例如,当我通过将参数设置为1000进行测试时,我的所有数据点都没有被过滤掉。
{fixed [Part] : sum([Recent Price Change])}>10