EpiData | 数据录入的控制(1)
前两节我们了解了如何编写调查表文件,如何用这个文件生成数据库及数据录入界面的显示。
这一节,我们看看数据录入的控制。
问题提出:为什么需要“控制”?
还是先前的那个例子
其中编号为4的那一行,有“门诊”“住院”和“住院病案号”三项,这三项中最多只有两项需要我们来录入数据,因为门诊和住院这两种情况是相斥的,一个病人如果是门诊病人,那就不是住院病人,病案号当然也没有了。
所以,为了提高数据录入的效率,我们需要对录入过程进行控制:对于上面的这种情况,我们的预期控制效果是:
在录完就诊日期后,光标到“门诊”项,这时,如果这个病人是门诊病人,那么我们录入1或者Y(因为这个变量是布尔型,其值只有1或Y,0或N,键入其它的值都是无效的)之后,光标不是到“住院”项,而是跳转到“性别”,因为门诊病人没有病案号。
当然,对数据录入的控制还远不只这些,还包括字段允许值的设定、是否必须录入、是否允许重复数值等。为了实现这些“控制”过程,我们需要建一个与.rec文件同名但后缀为.chk的文件。在启动EpiData后,在工具栏上就能看到建立CHK文件的按钮。
图3-1 建立CHK文件
选择我们先前生成的sample.rec文件:
图3-2 选择要建立CHK文件的数据库文件
点击打开后,出现编写CHK文件的页面:
图3-3 CHK文件编辑器
简单的解释一下:
EpiData的CHK文件,命令有很多,这个编辑窗口,仅列出了比较常用的几个,其它更为复杂的功能,需要点击“编辑”按钮,以文本编辑方式打开CHK文件来编写CHK命令。这些命令的使用,大家可以参考《EpiData 3.0 使用手册》。
图3-4 CHK文件编辑器的选项卡
上图中对CHK选项卡中的5个项目作了简单的说明,下面逐一进行介绍:
1、字段的允许数值范围与允许数值
对应的CHK命令为:Range和Legal
“控制”作用:在录入时,如果录入的数值不在这两个命令定义的允许数值(范围)内,系统将报错,需重新录入“合格”的数值。
这是CHK文件中常用的两个命令,其作用稍有不同,Range限定的是字段数值的“允许范围”,比如我们可以键入“1-8”,代表该字段的数值是从 1到8且连续的8个数值;而Legal 则限定字段的允许数值,对上面这种情况,用Legal命令的话,我们需要键入“1,2,3,4,5,6,7,8”, 如果实际情况是既有连续的数值,又有不连续的,那这两个命令可以一起用,比如键入“1-5,7,8”,表示这个字段共允许7个数值,包括1到5连续5个 数,还有“7”和“8”这两个数。如果录入时输入了6,系统会报错,提示“非法录入”,同时还提示应该输入的允许数值(范围)。如下图:
图3-5 (Range和Legal这两个命令的作用就是这个)
还记得上一个图中那个“编辑”按钮吗?我们点击它看看里面是什么:
图3-6 CHK文件的“编辑”
这是对当前字段的CHK命令进行文本方式的编辑(其实EpiData的文件基本都是文本格式,只不过文件的后缀不是.txt罢了)。在里面我们可以看到,一个合格的CHK命令是字段名加CHK命令,以END结尾。
Range命令的用法是
RANGE 1 5 (它定义了允许的数值范围是1到5)
Legal的用法是:
LEGAL
7
8
END
(注意:很多CHK命令都以END结尾,比如这个LEGAL,但RANGE不需要)
对于LEGAL命令,每个允许的数值要占一行。
事实上,对于这两个命令,我们不需要以文本方式编辑,直接在图3-4中的选项卡中填上数值范围或数值就可以了(以英文“,”分隔每个单独的数值),而对于选项卡中没有的命令,我们必需用编辑文本自己编写。
好了,这两个命令我们已经简单的了解了用法,下面我们看看跳转命令Jumps怎么用。
来源:Medleaf
http://www.eyaoo.net/weblog/
声明:部分文章和信息来源于互联网,如转载内容涉及版权等问题,请立即与小编联系,我们将迅速采取适当的措施。
感谢您抽出
更多精彩请点击下列分类文章
↓↓↓
当依恋是安全的时候,心理化就会自动地和潜意识地发生,就像弹钢琴或骑自行车被编码进入程序记忆一样。
向左滑动
关注“自我整合”
从心开始做更好