我正在尝试使用datediff()在纵向REDCap数据库中计算年龄,但是该函数没有返回值,尽管计算是有效的,并且smart变量帮助页面证实该函数似乎是正确的。
第一个日期是在一个事件中的非重复仪器中。第二个日期,也是进行计算的地方,在另一个可重复的仪器中的一个字段中,在一个单独的不可重复的事件中。
我目前的计算是这样的:
datediff([firstdate],[seconddate][current-instance], "y")我也尝试过(因为我不知道如何修复它)。
datediff([firstdate],[secondeventname][seconddate], "y")这两种计算都没有返回值。我已经仔细检查了日期是否为相同的ymd格式,以及当我将第二个参数替换为'today‘时函数是否工作,所以我知道问题出在第二个参数上,但智能变量FAQ似乎建议上面的第一行代码,当然没有起作用。
有没有人对这个问题有经验?
发布于 2019-10-31 08:46:14
在纵向数据收集项目中,您应该在变量前面加上它所来自的事件,否则REDCap将只查看该变量的当前事件,如果找不到任何值,则不返回值。
此外,date2函数接受日期格式的第四个参数,可以是"ymd“、"dmy”或"mdy",并且datediff和datediff必须采用相同的格式。
你可能不需要当前实例的smart变量,至少在我的测试中我不需要它,因为如果你从包含[seconddate]的事件执行这个计算,实际上如果它是重复的,那么你可能只需要使用[seconddate]来引用它,而要引用[firstdate],你需要在它前面加上[event_1_arm_1]或无论你的事件名称是什么,或者是smart变量[first-event-name] (对于多臂研究来说这会更容易移植)。
因此,我将尝试以下操作:
datediff( [first-event-name][firstdate], [seconddate], "y", "ymd" )
https://stackoverflow.com/questions/57633049
复制相似问题