epidata v2.1

26

Upload: binhthang

Post on 13-May-2015

8.909 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Epidata v2.1
Page 2: Epidata v2.1

MỤC LỤC

Lời cám ơn .....................................................................................................................1

Phần 1 Giới thiệu về epidata .......................................................................................2

1. Giới thiệu về chương trình Epidata ....................................................................2

2. Các bước tạo một form số liệu hoàn chỉnh ........................................................3

2.1. Khai báo bộ câu hỏi – Tạo tệp .qes .........................................................................3

2.2. Tạo tệp dữ liệu - tạo tệp.rec .....................................................................................5

2.3. Thiết ràng ràng buộc số liệu – tạo tệp .chk.............................................................5

2.4. Nhập số liệu ..............................................................................................................7

2.5. Xuất tệp số liệu ........................................................................................................8

3. Ghép số liệu .......................................................................................................... 10

4. So sánh số liệu nhập 2 lần .................................................................................. 13

Phần 2: Các ví dụ về tạo form nhập số liệu ........................................................... 18

Ví dụ 1 .......................................................................................................................... 18

Ví dụ 2: ......................................................................................................................... 19

Page 3: Epidata v2.1

1

Lời cám ơn

Chúng tôi xin chân thành bày tỏ lòng biết ơn chân thành và sâu sắc đến của CN Trần

Bình Thắng và CN Hoàng Đình Tuyên, là những người đã hộ trợ chúng tôi trong quá

trình thực hiện cuốn cẩm nang này.

Mặc dù đã rất cố gắn trong quá trình biên soạn nhưng không thể tránh được những

thiếu sót, chúng tôi mong nhận được những đóng góp, phê bình của các bạn đọc để hoàn

thiện cuốn cẩm nang này.

Mọi thắc mắc xin liên hệ qua địa chỉ Email: [email protected].

Page 4: Epidata v2.1

2

Phần 1 Giới thiệu về epidata

1. Giới thiệu về chương trình Epidata

Khi mở chương trình Epidata, ta có một giao diện như hình trên.

Sự đặc biệt của chương trình nằm ở thanh công cụ phía dưới thanh thực đơn.

Đây là một tiến trình bao gồm 6 bước, và để có một bộ số liệu hoàn hảo, bạn sẽ đi

qua 6 bước này.

Sáu bước của tiến trình làm việc với Epidata gồm: định nghĩa dữ liệu (1.Define

Data), tạo tệp dữ liệu (2.Make Data File), thiết lập các kiểm tra lỗi số liệu (3.Checks),

nhập dữ liệu (4.Enter Data), tạo các báo cáo mô tả dữ liệu (5. Document), xuất tệp số liệu

sang các định dạng khác (6. Export Data).

Trong Epidata, chúng ta quan tâm đến 3 loại tập tin, luôn phải có, và khi chuyển

form nhập số liệu cho người nhập, ta phải chuyển đồng thời 3 tập tin này.

Tệp .QES (QUESTIONAIRE): được Epidata sử dụng để lưu trữ các dòng khai báo

bộ câu hỏi. Một bộ câu hỏi có nhiều câu hỏi và nhiều đáp án. Chúng ta viết lại các câu hỏi

và đáp án vào trong tệp .QES, theo cú pháp câu lệnh do Epidata quy định, làm cơ sở để

Epidata sinh ra tệp .REC theo mong muốn của người sử dụng, được gọi là khai báo bộ

câu hỏi.

Tệp .REC (RECORD): chứa số liệu do người nhập liệu nhập số liệu từ các bộ câu

hỏi vào form nhập liệu. Tệp .REC được sinh ra trên cơ sở nội dung của tệp .QES. Tệp

.REC là cơ sở để Epidata tạo ra form nhập số liệu khi nhập số liệu.

Tệp .CHK (CHECK): chứa các dòng lệnh khai báo các ràng buộc số liệu nhằm hạn

chế lỗi trong khi nhập số liệu.

Page 5: Epidata v2.1

3

Epidata hiểu được 6 loại biến như hình trên, và chúng ta sẽ tìm hiểu cấu trúc câu

lệnh thông qua một ví dụ ở phần 2.1.

2. Các bước tạo một form số liệu hoàn chỉnh

2.1. Khai báo bộ câu hỏi – Tạo tệp .qes

Đây là bước đầu tiên và là bước quan trọng nhất trong tiến trình 6 bước để tạo

form nhập số liệu

Để tạo tệp QES, trên cửa số chương trình Epidata đang mở, chọn 1.Define data và

chọn New .QES file trên thanh công cụ.

Dòng khai báo một trường số liệu trong tệp QES là cơ sở để Epidata sinh ra tên

trường, nhãn và kiểu dữ liệu của trường số liệu trong tệp dữ liệu.

Kiểu biến

Text

Numeric

Soundex

Date

Logic

Auto ID number

Page 6: Epidata v2.1

4

Ví dụ: khai báo những thông tin sau:

PHIẾU KIỂM TRA KAP CỦA NGƯỜI

CAO TUỔI VỀ TĂNG HUYẾT ÁP

Ngày điều tra ….tháng………năm 200………..

Họ và tên:……………………Tuổi……Giới……Trình độ văn hóa………..

Chiều cao: …………….. Cân nặng ……………..

Khai báo như sau:

Id ma so phieu @<IDNUM> đánh mã số tự động Date ngay dieu tra @<dd/mm/yyyy> kiễu dữ liệu dạng

date Name Ho va ten @<A > dữ liệu kiểu Text,

dữ liệu nhập vào sẽ tự động in hoa, độ rộng phụ thuộc vào số lượng ký tự trống

Age tuổi @## dữ liệu Numeric, độ trộng phụ thuộc vào ký tự #

Sex Giới @<Y> dữ liệu dạng có/không, trong ví dụ này, nam tương ứng với Y, nữ tương ứng với N

Hv Trinh do van hoa @__________ dữ liệu kiểu text, độ rộng phụ thuộc vào số ký tự “_”

Cc chieu cao @##.# dữ liệ dạng số, dấu “.” Là dấu phập phân.

Cn can nang @##.# Sau khi hoàn tất, ta tiến hành lưu tệp qes

Tên biến Nhãn biếnChuỗi

định dạng

Page 7: Epidata v2.1

5

Lưu ý: khi bạn chỉnh sửa file qes sau khi đã tạo file rec, bạn phải tạo file rec mới, ghi đè

lên file cũ nếu bạn muốn, thì chỉnh sửa đó mới có hiệu lực.

2.2. Tạo tệp dữ liệu - tạo tệp.rec

Nếu chưa có tệp REC thì người sửa dụng vẫn chưa có tệp chứa số liệu để bắt đầu

công việc nhập liệu. Để sinh ra tệp REC từ một tệp QES, ta chọn “2. Make data file” trên

thanh công cụ và chọn “Make data file”, hộp thoại tạo tệp số liệu xuất hiện như sau:

Hộp thoại có hai mục là Name of .QES file và Name of data file, ta có thể nhấn nút

để chọn tệp QES và nhập tên tệp REC vào mục Name of data file rồi chọn OK để kết

thúc tạo tệp REC.

2.3. Thiết ràng ràng buộc số liệu – tạo tệp .chk

Epidata có chức năng checks để hạn chế . Để thực hiện điều này, ta vào 3. Checks.

Hộp thoại Select data file for checks xuất hiện yêu cầu người sử dụng chọn tệp REC.

Ta chọn tệp REC mà ta muốn check, rồi nhấn open.

Hộp thoại có hình như sau:

Page 8: Epidata v2.1

6

Một số câu lệnh phổ biến sử dụng trong Epidata

1. BEFORE ENTRY/ AFTER ENTRY: Chạy câu lệnh trước/sau khi nhập giá trị vào biến.

Ví dụ: Before entry

Command

Command

End

2. CONFIRMFIELD: chỉ chuyển đến biến tiếp theo khi nhấn Enter

3. KEY UNIQUE: tạo trường khoá chính, giá trị trong biến này chỉ xuất hiện 1 lần, áp dụng

cho các biến ID

4. COMMENT LEGAL USE sử dụng nhãn cho biến

Ví dụ: COMMENT LEGAL USE bao

5. HIDE, UNHIDE ẩn/hiện 1 biến nào đó

Ví dụ: hide a1

Unhide a4

6. MUSTENTER / NOENTER bắt buộc nhập/không nhập 1 biến.

Lựa chọn trường để thiết lập

ràng buộc số liệu

Chỉ nhập số liệu thoả mãn

điều kiện.

Ví dụ: range 1-3 chỉ nhập số

liệu trong khoảng 1-3.

Range 1,3: chỉ được nhập số

1 hoặc 3

Tạo bước nhảy.

Ví dụ:tại biến a1, nếu ta

viết:

- 2>a5 – nhảy đến biến a5

- 3>write: nhập giá trị 3 thì

sẽ ghi bản ghi

Bắt buộc nhập giá trị

Lặp lại giá trị đã

nhập ở bản ghi trước

Lưu lại các thiết lập Đóng cửa số Check

Mở cửa sổ câu lệnh của Epidata.

Trong cửa sổ này, ta có thể tạo ra các thiết lập trên thông qua các câu lệnh.

Chúng tôi sẽ giới thiệu một số câu lệnh phổ biến thường hay sử dụng. Các bạn

có thể thao khảo thêm tại epidata.dk.

Khai báo chú thích

Page 9: Epidata v2.1

7

7. TYPE COMMENT áp dụng trong biến có sử dụng nhãn, khi nhập giá trị vào, sẽ xuất hiện

nhãn của giá trị đó bên cạnh ô biến.

8. CLEAR: xoá giá trị trong 1 biến, thường được sử dụng kết hợp trong câu lệnh IF

Ví dụ: Clear a1

9. HELP: xuất hiện 1 thông báo khi không thoản mãn 1 điều kiện nào đó, thường sử dụng cùng

với câu lệnh IF

Ví dụ: help “chi bien a1 moi co the nhan gia tri 5, de nghi xem xet lai”

10. GOTO đến 1 biến nào đó khi thoản mãn 1 hay nhiều điều kiện, áp dụng trong câu lệnh IF

Ví dụ: goto a1

11. IF …THEN … ELSE … ENDIF

Ví dụ:

if (a1=1) or (a2=1)

then

help “2 bien a1 va a2 khong the dong thoi nhan gia tri 1”

goto a1

(clear a1) and (clear a2)

Endif

12. Ngoài các câu lệnh trên, Epidata còn hỗ trợ các biểu thức toán học như +, -, *, / và

các biểu thức quan hệ <, >, =, <>, <=, >=.

2.4. Nhập số liệu

Để nhập số liệu, ta nhấn vào 4. Enter Data. Chọn tệp dữ liệu ta muốn nhập, sau đó

bắt đầu nhập.

(1): bản ghi đang thao thác hiện tại, nếu New/1: đang nhập bản ghi mới

(2): tới bản ghi đầu tiên/cuối cùng

(1) (3) (2) (3) (2) (4) (5)

Page 10: Epidata v2.1

8

(3): tới bản ghi trước/sau

(4): tạo bản ghi mới

(5): xoá 1 bản ghi

Khi nhập đến cuối form, thông báo sau xuất hiện:

Đây là thông báo bản ghi (phiếu) bạn đang nhập sẽ được lưu lại. Nhấn Yes nếu bạn

đã hoàn thành phiếu, No nếu bạn muốn sửa lại bản ghi đang nhập.

Lưu ý: khi xoá một bản ghi trong Epidata, bản ghi đó không mất đi, tuy nhiên, trong quá

trính xuất dữ liệu, nó sẽ bị giữ lại.

Epidata tự động lưu số liệu khi bạn nhập xong một bản ghi. Nếu chương trình bị tắt

độ xuất do một lý do nào đó thì số liệu đã nhập không bị mất đi, chỉ mất đi phiếu đang

nhập mà chưa lưu lại.

2.5. Xuất tệp số liệu

Sử dụng chức năng xuất tệp số liệu của Epidata, chúng ta có thể xuất ra một tệp

số liệu có định dạng khác như Spss, Stata, Excel… Chọn tệp số liệu REC Chọn Export Data trên thanh công cụ và chọn kiểu định dạng số liệu đầu ra.

Nếu số liệu đầu ra mong muốn có định dạng của SPSS, ta chọn Export Data và chọn

SPSS. Khi hộp thoại Open xuất hiện cần chọn tệp dữ liệu REC và chọn Open.

Page 11: Epidata v2.1

9

Chọn các tham số tùy chọn và xuất tệp số liệu Khi tệp REC đã được mở, hộp thoại Export Data xuất hiện. Việc tiếp theo là chọn

các tham số tùy chọn và nhấn OK để thực hiện xuất tệp số liệu.

Chú ý: Hộp thoại Export Data có các tham số có ý nghĩa như sau: All records: Xuất tất cả các bản ghi của tệp dữ liệu.

Page 12: Epidata v2.1

10

From record # to # : Chỉ xuất các bản ghi từ số # đến số #Select fields: cho phép

chọn các trường dữ liệu sẽ xuất hiện ở tệp đầu ra (trường được tích trong danh sách sẽ

xuất hiện trong tệp đầu ra)

Lưu ý: nếu các bạn chọn kiểu xuất dữ liệu là Spss, chương trình sẽ xuất ra 2 file, gồm 1

file .sas và file .not. Sau đó, bạn sử dụng chương trình Spss để chạy file .sas, nhấn tổ hợp

phím Ctrl + a, sau đó, trên thanh menu, chọn Run/All. Số liệu của các bạn nhập ở Epidata

sẽ xuất hiện ở 1 dataset mới.

3. Ghép số liệu

Trong cửa sổ của Epidata, chọn Data in/out, chọn Append/Merge

Hộp thoại Append/Merge xuất hiện

Chọn các tệp số liệu thành phần

Trên cửa sổ Append/Merge data files, kích nút lệnh chọn các tệp số liệu cần

ghép thứ nhất và thứ hai và chọn OK, hộp thoại Append/Merge xuất hiện sau đó, như

hình dưới đây:

Page 13: Epidata v2.1

11

Chọn phương thức ghép tệp và kết thúc ghép tệp Tùy theo yêu cầu ghép tệp số liệu mà ta có thể chọn phương thức ghép tương ứng là Append hay Merge. Ghép tệp theo phương thức Append: các tham số cần được thiết lập gồm: Resulting data file: tên tệp kết quả sẽ được tạo ra Thẻ Append: thẻ Append được chọn để thiết lạp tham số ghép tệp “Append only data from fields in data file B that also exists in data file A” chỉ định các trường của tệp kết quả chỉ gồm các trường của tệp A (tệp thứ nhất). “Append all fields in data file B” chỉ định tệp kết quả có số trường là số trường của cả hai tệp thành phần hợp lại. Các tùy chọn được thiết lập sẽ quy định kết quả tệp ghép được sinh ra. Chẳng hạn,

ta muốn ghép hai tệp women.rec (tệp A) trong thư mục khamthai và tệp women.rec (tệp

B) trong thư mục khác (thư mục khamthai\test1) theo phương thức Append. Yêu cầu

ghép tệp là chỉ ghép những số liệu tồn tại trong các trường của tệp A mà tồn tại trong tệp

B. Các tham số tùy chọn có hình ảnh như sau:

Page 14: Epidata v2.1

12

Sau khi thiết lập được các tham số cho phương thức ghép tệp, ta chọn nút lệnh Append để kết thúc việc ghép tệp. Chú ý: Sau khi chọn Append, Epidata sẽ hỏi đặt nhãn chú thích cho tệp ghép,

ta có thể chọn OK để bỏ qua việc đặt nhãn tệp.

Ghép tệp theo phương thức Merge: ghép tệp theo phương thức Merge được thực hiện

tương tự như với ghép tệp theo phương thức Append. Sự khác biệt chỉ là các tham số tùy

chọn được thiết lập, các tham số tùy chọn như sau: Nếu để chọn phương thức ghép tệp là Append, ta phải chọn thẻ Append trên

hộp thoại thì với ghép tệp theo phương thức Merge, chọn thẻ Merge trên hộp thoại. Select key fields: cho phép chọn trường khóa được sử dụng làm căn cứ để hợp nhất hai tệp. Trường khóa được chọn cho ghép tệp phải là một trường đồng thời có trong cả hai tệp thứ nhất (tệp A) và tệp thứ hai (tệp B). Merge only record from data file B that match records in data file A: yêu cầu số liệu tệp được ghép sẽ gồm toàn bộ các bản ghi của tệp A ghép thêm số liệu trong tệp B có giá trị trường khóa tương ứng. Merge all records from data file B: yêu cầu các bản ghi trong tệp ghép bằng các bản ghi hai tệp thành phần hợp lại.

Page 15: Epidata v2.1

13

Chọn nút lệnh Merge để thực hiện ghép tệp là thao tác cuối cùng sau khi các

tham số tùy chọn đã được thiết lập. Hình ảnh dưới đây là ví dụ của việc ghép hai tệp

số liệu theo phương thức Merge với trường khóa được chỉ định là Personid (mã cá

nhân).

4. So sánh số liệu nhập 2 lần Sai số có thể xảy ra ở bất cứ giai đoạn nào trong nghiên cứu. Do đó, để có thể hạn

chế sai số xảy ra trong quá trình nhập số liệu, ta sẽ nhập số liệu đó 2 lần với 2 nhóm nhập

khác nhau, sau đó, sẽ so sánh sự giống nhau của 2 bộ số liệu này, từ đó, tìm ra sự khác

biệt nếu có, để chỉnh sửa lại số liệu cho chính xác.

Sau đây, chúng tôi sẽ giới thiệu đến các bạn các tiến hành trên Epidata.

Đầu tiên, chọn 5.Document, sau đó, ta chọn Validate duplicate files.

Hộp thoại sau xuất hiện, ta lần lượt chọn 2 file số liệu mà ta muốn kiểm tra vào 2 ô

Name of first data file và Name of second data file.

Page 16: Epidata v2.1

14

Sau khi đã chọn xong, ta nhấn OK. Hộp thoại sau xuất hiện

Ở hộp thoại này, ta có thể biết được số bản ghi của 2 bộ số liệu tại dòng No. of

records. Tại ô Select key fields, ta sẽ chọn biến được đặt khoá chính, thông thường, đó là

biến ID.

Tại ô Options, cung cấp cho ta một số tuỳ chọn nâng cao. Ví dụ, bỏ qua các bản

ghi đã xoá ( Ignore deleted records), bỏ qua các trường kiểu text (Ignore text fields), …

Sau khi đã thiết lập xong các tuỳ chọn thích hợp, nhấn OK.

Báo cáo của Epidata với 2 bộ số liệu trên như sau: VALIDATE DUPLICATE DATA FILES REPORT

Page 17: Epidata v2.1

15

==================================== Report generated 18. Feb 2012 4:01 PM ------------------------------------------------------------------------------ Data file 1: ------------------------------------------------------------------------------ File name: D:\so lieu\form 1.rec File label: File date: 18. Feb 2012 4:00 PM Records total:713 ------------------------------------------------------------------------------ Data file 2 ------------------------------------------------------------------------------ File name: D:\so lieu\form 1 1.rec File label: File date: 18. Feb 2012 4:01 PM Records total:713 ------------------------------------------------------------------------------ Options for validation: Ignore deleted records: Yes Ignore text fields: No Ignore letter-case in text fields: No Report differences in field types: No Ignore missing records in data file 2 No Fields in both data files that were used in the validation: IDHOLD,PROVINCE,DISTRICT,COMMUNE,SAMPLE,NUMSAMP,NAMEHOLD,ADDRESS, …… Fields excluded from data file 1: None Fields excluded from data file 2: None Fields used as index keys: IDHOLD ------------------------------------------------------------------------------

RESULTS OF VALIDATION: Báo cáo kết quả kiểm tra ------------------------------------------------------------------------------ Records missing in data file 1: 0 Records missing in data file 2: 0 Number of common records found: 713 Number of fields checked per record: 274 Total number of fields checked: 195362 2 out of 713 records had errors ( 0.28 pct.) 5 out of 195362 fields had errors ( 0.00 pct.) ------------------------------------------------------------------------------ DATA FILE 1 | DATA FILE 2 ------------------------------------------------------------------------------ Record key field(s): (Rec. # 16) | Record # 16 idhold = 67007002 | |

Báo cáo về số lượng bản

ghi, thời gian tiến hành

kiểm tra và tên file được

kiểm tra

Các tuỳ chọn đã được

chọn

Page 18: Epidata v2.1

16

eco35 = 2 | eco35 = 1 eco36 = 2 | eco36 = 1 eco37 = 2 | eco37 = 1 eco38 = 2 | eco38 = 1 ------------------------------------------------------------------------------ Record key field(s): (Rec. # 33) | Record # 33 idhold = 67007106 | | eco47 = 2 | eco47 = 1 ------------------------------------------------------------------------------

Theo báo cáo trên, 2 số liệu này giống nhau về số lượng bản ghi, nhưng có sự khác

nhau về giá trị của biến. Cụ thể, có sự khác nhau về các biến ở bản ghi (record) thứ 16 và

33. Tỷ lệ khác biệt là 0,28% nếu tính theo tổng số bản ghi, là gần bằng 0,0% nếu tính theo

số biến

5. Hướng dẫn sử dụng StatTransfer Chương trình StatTransfer hỗ trợ việc chuyển đổi qua lại các định dạng file số liệu

của các chương trình quản lý và sử lý số liệu khác nhau, ví dụ .sav, .rec, .xls, .xlsx, .dta,…

Chương trình có giao diện đơn giản, dễ sử dụng, hỗ trợ nhiều định dạng khác nhau.

Nhược điểm duy nhất của chương trình khi chuyển số liệu từ Epidata sang spss đó

là các biến sẽ bị mất các label.

Khởi động chương trình, giao diện xuất hiện đầu tiên cũng là nơi thực hiện chuyển

đổi định dạng số liệu.

Tại ô input file type, ta chọn định dạng của số liệu muốn chuyển đổi bằng cách

chọn vào mũi tên bên cạnh.

Page 19: Epidata v2.1

17

Tại ô file specification, nhấn Browse để chọn file số liệu muốn chuyển đổi.

Tương tự, tại ô output file type, ta chọn định dạng của số liệu muốn xuất ra.

Tại ô file specification, nhấn Browse để chọn nơi lưu số liệu xuất ra.

Sau khi đã thiết lập xong các tuỳ chọn trên, nhấn Transfer để thực hiện quá trình,

và để chuyển đổi 1 bộ số liệu khác với các tuỳ chọn khác, các bạn nhấn Reset.

Ngoài ra, tại tab Variables, các bạn có thể chọn những biến nào đươc xuất ra,

nhưng biến nào được giữ lại, và còn nhiều tiện ích khác ở các tab tiếp theo đang chờ bạn

khám phá.

Lưu ý: khi chuyển file từ Epidata sang Spss, các bạn chọn kiểu file trong chương

trình là Epi Info.

Page 20: Epidata v2.1

18

Phần 2: Các ví dụ về tạo form nhập số liệu Ví dụ 1

Mã số phiếu

Họ và tên: …………………………. Năm sinh: …………….

Địa chỉ: ……………………………………………………….

Chiều cao Vòng ngực Cân nặng Huyết áp / Vòng bụng G0 Vòng cánh tay G1

Hãy tạo form và tạo file check với yêu cầu sau:

1. Tạo trường khoá chính cho biến ID

2. Tính chỉ số BMI, phân loại BMI, phân nhóm HA.

Gợi ý

Ta có thể tạo form như sau:

Id Ma so phieu @###

Hvt Ho va ten @_____________________________

Year Nam sinh @####

Dc Dia chi @____________________________

Cc Chieu cao @#.## m

Cn Can nang @##.# Kg

Bmi Chi so BMI @##.#

pnBMI Phan nhom BMI @#

vb Vong bung @### cm

Vct Vong canh tay @### cm

Vn Vong nguc @### cm

Hatt HA tam thu @##.##

Hattr HA tam truong @##.##

pnHA Phan nhom HA @#

Go Go @#.##

G1 G1 @#.##

Bạn áp dụng công thức tính BMI và cách phân loại BMI, phân loại THA của

WHO.

Page 21: Epidata v2.1

19

Giợi ý này chỉ thực hiện phân nhóm BMI. Code thực hiện như sau: cc AFTER ENTRY HIDE bmi HIDE nhom BMI=Cn/Cc^2 IF (bmi<=18.49) THEN nhom=1 ELSE IF (bmi>18.5) and (bmi<=24.99) THEN nhom=2 ELSE IF (bmi>25) THEN nhom=3 ENDIF ENDIF ENDIF END END

Ví dụ 2:

Mã số phiếu: ………………

Bạn thích đọc báo nào nhất? (nhiều lựa chọn)

1. Thanh niên

2. Tuổi trẻ

3. Người lao động

4. Bóng đá

5. Tuổi trẻ cười

6. Hoa học trò

7. Không loại nào

8. Khác, …………………

Giới tính của bạn: 1. Nam 2. Nữ

Bạn có bao nhiêu cách để tạo form nhập số liệu cho những câu hỏi trên?

Gợi ý:

Cách 1: ở cách này, ta sẽ tạo form như sau:

ID ma so phieu @##

Bao1 ban thich doc bao nao nhat @#

Bao2 ban thich doc bao nao nhat @#

Bao3 ban thich doc bao nao nhat @#

Bao4 ban thich doc bao nao nhat @#

Bao5 ban thich doc bao nao nhat @#

Bao6 ban thich doc bao nao nhat @#

Page 22: Epidata v2.1

20

Bao7 ban thich doc bao nao nhat @#

Bao71 ___________________________________

Sex gioi tinh @#

Với cách tạo form như trên, ta sẽ nhập lần lượt số thứ tự các câu trả lời được chọn

vào các biến bao1, bao2, …

Tuy nhiên, có một số vấn đề đặt ra như sau:

1. Nếu người trả lời chọn câu 7, chuyển ngay đến câu giới tính. Tuy nhiên, có thể do

sai số trong quá trình thu tập số liệu, trong phiếu có thể đánh vào các câu 1,2, 3, … và

đồng thời đánh vào câu 7. Với trường hợp này, phiếu này không hợp lệ, cần phải xem xét

lại. Do đó, ta cần phải thông báo cho người nhập biết rằng chỉ có biến bao1 mới có thể

nhập số 7.

2. Biến bao71 chỉ có thể nhập khi số 8 được nhập vào ở bất kỳ biến nào trong các

biến bao1 đến bao6.

3. Phải thông báo cho người nhập biết khi có 2 biến được nhập cùng 1 giá trị.

Code như sau: LABELBLOCK LABEL bao 1 "thanh nien" 2 "tuoi tre" 3 "nguoi lao dong" 4 "bong da" 5 "tuoi tre cuoi" 6 "hoa hoc tro" 7 khong 8 khac 9 "khong tra loi" END END id KEY UNIQUE 1 MUSTENTER END bao1 COMMENT LEGAL USE bao JUMPS RESET "9" 7 bao71 9 bao71 END MUSTENTER TYPE COMMENT END

- Tại biến bao1. Biến này nhận đủ tất cả các giá

trị từ 1 đến 8 và là biến duy nhất nhận giá trị 7.

- Kể từ biến bao2 đến bao7, ta phải kiểm tra xem

giá trị nhập vào có bị trùng với giá trị đã nhập ở các

biến trên không. Tiếp theo, ta phải kiểm tra giá trị 7 có

được nhập vào các biến này hay không. Và thông báo

đến người nhập những lỗi này. Chúng tôi chỉ thực

hiện với biến bao2, bao3 và bao7.

- Khi tạo bước nhảy chúng tôi có thêm lệnh

RESET 9. Lệnh này có tác dụng điền vào các biến

trống giữa 2 khoảng nhảy 1 giá trị định sẵn. Nhưng

bước nhảy chỉ nhảy đến bao71.

- Tại biến bao71, chúng tôi sử dụng lệnh IF với

yêu câu chỉ nhập biến này khi có ít nhất 1 trong các

biến bao1, bao2,… có nhận giá trị 8. Câu lệnh này có

thể áp dụng rộng rãi trong các trường hợp khác nhau.

- Dấu “.” thể hiện giá trị rỗng.

Page 23: Epidata v2.1

21

bao2 COMMENT LEGAL USE bao JUMPS RESET "9" 9 bao71 END MUSTENTER TYPE COMMENT AFTER ENTRY IF bao1 = bao2 THEN HELP "trung so lieu" GOTO bao2 ENDIF IF bao2 = 7 THEN HELP "gia tri 7 chi duoc nhap o bien bao1" GOTO bao1 ENDIF END END bao3 COMMENT LEGAL USE bao JUMPS RESET "9" 9 bao71 END MUSTENTER TYPE COMMENT AFTER ENTRY IF (bao1 = bao3) or (bao2 = bao3) THEN HELP "trung so lieu" GOTO bao3 ENDIF IF bao3 = 7 THEN HELP "gia tri 7 chi duoc nhap o bien bao1" GOTO bao1 ENDIF END END bao7 COMMENT LEGAL USE bao JUMPS RESET "9" 9 bao71 END MUSTENTER TYPE COMMENT AFTER ENTRY IF (bao1 = bao7) or (bao2 = bao7) or (bao3 = bao7) or (bao4 = bao7) or (bao5 = bao7) or (bao6 = bao7) THEN HELP "trung so lieu" GOTO bao7

Page 24: Epidata v2.1

22

ENDIF IF bao7 = 7 THEN HELP "gia tri 7 chi duoc nhap o bien bao1" GOTO bao1 ENDIF END END bao71 BEFORE ENTRY IF (bao1 <>8) and (bao2 <>8) and (bao3 <>8) and (bao4 <>8) and (bao5 <>8) and (bao6 <>8) and (bao7 <>8) THEN bao71=. GOTO sex ENDIF END END

Cách 2: ở cách nhập số liệu này, ta nhập số thứ tự của câu trả lời vào 1 biển phụ,

biến phụ này sẽ tự động điền giá trị vào biến chính.

ID ma so phieu @##

Bao ban thich doc bao nao nhat @#

Bao1 thanh nien @#

Bao2 tuoi tre @#

Bao3 nguoi lao dong @#

Bao4 bong da @#

Bao5 tuoi tre cuoi @#

Bao6 hoa hoc tro @#

Bao7 khong @#

Bao8 Khac @#

Bao81 @_______________________________

Sex gioi tinh @#

Ta tiến hành như sau: bao RANGE 1 9 JUMPS 9 sex END AFTER ENTRY

Page 25: Epidata v2.1

23

IF bao=1 THEN IF bao1=1 THEN CLEAR bao1 ELSE bao1=1 ENDIF ENDIF IF bao=2 THEN IF bao2=1 THEN CLEAR bao2 ELSE bao2=1 ENDIF ENDIF

…………………… …………………… …………………… IF bao=8 THEN IF bao8=1 THEN CLEAR bao8 ELSE bao8=1 ENDIF ENDIF IF bao=9 THEN GOTO bao81 ELSE GOTO bao ENDIF

CLEAR bao END END bao81 BEFORE ENTRY IF bao8=. THEN GOTO sex ENDIF END END Nếu cần thiết, bạn có thể thêm nhóm câu lệnh sau vào biến ID để hạn chế sai sót

trong quá trình nhập số liệu.

HIDE bao1 HIDE bao2 HIDE bao3 HIDE bao4 HIDE bao5 HIDE bao6 HIDE bao7 HIDE bao8

Tại biến bao81, nếu biến bao8

nhận giá trị trống (.) thì sẽ nhảy

đến biến sex, nếu ngược lại thì

nhập báo khác vào.

Chú thích: nếu bao=1 thì nếu biến báo 1 đã nhận giá trị 1 thì xoá giá trị 1 đó, nếu chưa nhận giá trị 1, thì biến bao1 nhận giá trị 1.

Chú thích nếu bao=9 thì tức là không còn câu trả lời nào khác, hoặc không trả lời thì đến biến bao81, nếu không thì quay lại biến bao

Page 26: Epidata v2.1

Filename: epidata v1.1.docx Directory: C:\Users\Thuan Anh\Desktop\xo Template: C:\Users\Thuan

Anh\AppData\Roaming\Microsoft\Templates\Normal.dotm Title: Subject: Author: Thuan Anh Keywords: Comments: Creation Date: 3/3/2012 1:35:00 PM Change Number: 21 Last Saved On: 3/13/2012 1:39:00 PM Last Saved By: Thuan Anh Total Editing Time: 1,011 Minutes Last Printed On: 3/13/2012 1:40:00 PM As of Last Complete Printing Number of Pages: 24 Number of Words: 3,691 (approx.) Number of Characters: 21,041 (approx.)