我有一个关于过滤的画面问题。我想过滤多个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年。任何帮助表示赞赏!谢谢
答案 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将被过滤掉
希望有所帮助