根据一个期间过滤所有期间

时间:2015-03-03 12:21:02

标签: filtering tableau

我有一个关于过滤的画面问题。我想过滤多个ID和句点的特定点以上的值。假设:

ID   Date    Balance
1    2014    100
1    2015    100
1    2016    90
1    2017    80
2    2014    120
2    2015    150
2    2016    100
2    2017    90
3    2014    200
3    2015    250
3    2016    150
3    2017    50

假设我的滤波器值为130.然后,tableau会立即返回130以上的所有余额。但是,如果第一期(2014年)的余额超过130,我想删除所有期间的贷款ID。因此,我想获得以下内容:

ID   Date    Balance
1    2014    100
1    2015    100
1    2016    90
1    2017    80
2    2014    120
2    2015    150
2    2016    100
2    2017    90

正如您所看到的,价值150仍在那里,但这种平衡是在2015年。任何帮助表示赞赏!谢谢

1 个答案:

答案 0 :(得分:1)

嗯,有时候(大多数时候解决方案并不明显,实际上)你需要有创意来实现你所需要的。我提出的解决方案并不漂亮,不直接,但它确实有效。

当我想到不明显的过滤器(比如,取X上的任何值)时,我喜欢考虑标记,只有一个目的的计算字段,举起一个标记。

基本上,如果2014年的余额超过某个值,您希望此标记引发标记(我假设您有一个名为' filtervalue'的参数)。因此,您需要创建标记(将其称为'标记'):

IF YEAR([Date]) = 2014 AND [Balance] > [filtervalue]
THEN 1
ELSE 0
END

我假设[Date]实际上是日期或日期时间格式。如果只是年份,请以数字格式删除'年()'

现在您有一个标记,如果2014年的余额超过过滤值,则为1;如果是其他情况,则为0(年份不是2014年,或者在2014年的过滤值下)。

现在,将ID拖到过滤器,然后转到条件。这就是魔术发生的地方。选择按字段,[标记],最大值,= 0.对于每个ID,它将搜索该标识的[标记]的每个值并选择最大值,并且仅保留等于零的值。这意味着,如果在任何地方有一个标记= 1,则该ID将被过滤掉

希望有所帮助