当存在重复值时,这是在 Tableau 中从出生日期计算年龄的正确方法吗?
Is this the right method to calculate age from date of birth in Tableau when there are duplicate values?
我想要实现的是在画面中从出生日期计算年龄,但是,由于重复记录,无论重复多少次,用户的年龄都会成倍增加。数据源是一个 SQL 数据库。
This is the output when I use a regular DOB calculation
两位用户的年份都是 1998 年,但管理员的年龄是 76 岁。这是我用来获取该输出的计算字段。
IF [DOB]>DATEADD('year',-DATEDIFF('year',[DOB],TODAY()),TODAY()) THEN
DATEDIFF('year',[DOB],TODAY())-1
ELSE
DATEDIFF('year',[DOB],TODAY())
END
由于数据库中存在多个一对多关系,admin 的记录重复了四次
Example of data for admin user
我试过在其他图表中使用详细程度表达式来删除重复数据。对于这个计算,我尝试对这个图表做同样的事情,但是它没有用
{INCLUDE [Username]:COUNT(DATEDIFF('year', [DOB], TODAY()))}
这是解决这个问题的正确方法还是我对这个问题的处理完全错误?
让我们试试这个 -
创建一个计算字段 CalculatedAge
作为 {fixed[Username]: max([your_calculated_age])}
并将此字段用作用户的年龄。希望这对您有所帮助!
我想要实现的是在画面中从出生日期计算年龄,但是,由于重复记录,无论重复多少次,用户的年龄都会成倍增加。数据源是一个 SQL 数据库。
This is the output when I use a regular DOB calculation
两位用户的年份都是 1998 年,但管理员的年龄是 76 岁。这是我用来获取该输出的计算字段。
IF [DOB]>DATEADD('year',-DATEDIFF('year',[DOB],TODAY()),TODAY()) THEN
DATEDIFF('year',[DOB],TODAY())-1
ELSE
DATEDIFF('year',[DOB],TODAY())
END
由于数据库中存在多个一对多关系,admin 的记录重复了四次
Example of data for admin user
我试过在其他图表中使用详细程度表达式来删除重复数据。对于这个计算,我尝试对这个图表做同样的事情,但是它没有用
{INCLUDE [Username]:COUNT(DATEDIFF('year', [DOB], TODAY()))}
这是解决这个问题的正确方法还是我对这个问题的处理完全错误?
让我们试试这个 -
创建一个计算字段 CalculatedAge
作为 {fixed[Username]: max([your_calculated_age])}
并将此字段用作用户的年龄。希望这对您有所帮助!