1

我正在尝试用于datediff()计算纵向 REDCap 数据库中的年龄,但该函数返回 [no value],尽管计算有效并且智能变量帮助页面证实该函数似乎正确。

第一个日期是在一个事件中的非重复工具中。第二个日期,也是进行计算的地方,在第二个可重复工具的字段中,在一个单独的、不可重复的事件中。

我的计算目前如下所示:

datediff([firstdate],[seconddate][current-instance], "y")

我也(因为不知道如何解决它),尝试过

datediff([firstdate],[secondeventname][seconddate], "y")

两种计算都返回 [无值]。我已经仔细检查了日期是否采用相同的 ymd 格式,并且当我用“今天”替换第二个参数时该函数确实有效,所以我知道问题是第二个参数,但智能变量 FAQ 似乎建议上面的第一行代码,这当然没有工作。

有没有人有经验可能是什么问题?

4

1 回答 1

1

在纵向数据收集项目中,您应该在变量前面加上它来自的事件,否则 REDCap 只会查看该变量的当前事件,如果找不到任何值,则不返回任何值。

此外,datediff 函数接受日期格式的第 4 个参数,“ymd”、“dmy”或“mdy”,并且 date1 和 date2 的格式必须相同。

您可能不需要当前实例的智能变量,至少在我对此的测试中我不需要它,因为如果您从包含的事件执行此计算[seconddate],实际上是从实例重复,那么您可能只需要使用[seconddate]来引用它,而要引用它,[firstdate]您需要为其添加前缀,[event_1_arm_1]或者您的事件名称是什么,或者智能变量[first-event-name](这对于多臂研究来说更便携)。

所以我会尝试以下方法:

datediff( [first-event-name][firstdate], [seconddate], "y", "ymd" )

于 2019-10-31T00:46:13.500 回答