我正在使用Tableau Software从数据库创建计算字段,该字段将用于动态过滤数据。基本上,如果今天的出生日期超过 18 岁,就应该将其过滤掉。
我试图将一个人的出生日期(在数据库中表示为 [DOB])与今天的出生日期(以年为单位)之间的差异计算为正整数。一旦我返回该日期,我想评估它是否高于或低于 18 岁。我一直在创建一个日期差异函数,但我不明白我错过了什么。
DATEDIFF('year',DATETRUNC('year',NOW()),DATETRUNC('year',[DOB]))
引用文献: http://onlinehelp.tableausoftware.com/v7.0/pro/online/en-us/functions_functions_date.html
最佳答案
首先,您需要稍微修改计算字段,以便它返回正整数而不是负整数。
DATEDIFF('year',DATETRUNC('year',[DOB]),DATETRUNC('year',NOW()))
完成后,右键单击“维度” Pane 并创建一个新的计算字段,如下所示:
IF [Age] < 18 then 1 else 0 END
然后将第二个计算字段拖到“过滤器”功能区上。执行此操作时,您将看到一个弹出窗口,您可以在其中选择过滤器值。单击“1”复选框,然后单击“确定”,这样就会过滤掉所有年满 18 岁或以上的人。
关于formula - Tableau 中的日期差异函数帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9805987/