BÀI 3 SẮP XẾP, TÌM KIẾM THỐNG KÊ DỮ LIỆU

Nguyễn Mạnh Hùng hung.nguyenmanh@thanglong.edu.vn hung2709@gmail.com

Wednesday, May 27, 2009

Tin Quản Lý - Visual Foxpro

NỘI DUNG

(cid:1) Sắp xếp dữ liệu

(cid:1) Tìm kiếm dữ liệu

(cid:1) Thống kê

Wednesday, May 27, 2009

Tin Quản Lý - Visual Foxpro

1

NỘI DUNG

(cid:1) Sắp xếp dữ liệu

(cid:1) Lệnh SORT

(cid:1) Lệnh INDEX

Wednesday, May 27, 2009

Tin Quản Lý - Visual Foxpro

SẮP XẾP DỮ LIỆU

• Một số khái niệm

– Trường khóa (Keys) – Kiểu sắp xếp

• Ascending (Tăng dần – ngầm định) • Descending (Giảm dần)

– Có thể sử dụng

• /A thay cho Ascending • /D thay cho Descending

– Trong Visual Fox, khi sắp xếp, mặc định là sắp xếp

tăng dần (ASCENDING)

2

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

SẮP XẾP DỮ LIỆU (Cont)

• Câu lệnh SORT

– Cú pháp SORT ON [ /< kiểu sắp xếp 1 > ,] [ /< kiểu sắp xếp 2 >, ] [………] [ /< kiểu sắp xếp n > ] [FOR< biểu thức Logic >][WHILE< biểu thức Logic >] [FIELDS ] TO

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

SẮP XẾP DỮ LIỆU (Cont)

• Ví dụ: Use DSSV Sort On MASV For Lop = “Q16” To DSSV_Q16 Sort On MASV DESC For Lop = “T16” To DSSV_T16 Use DSSV_Q16 Browse

3

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

SẮP XẾP DỮ LIỆU (Cont)

• Câu lệnh INDEX Cú pháp INDEX ON TO Hoặc

INDEX ON [/ kiểu sắp xếp]

TAG

Chú ý: Đối với trường khóa là kiểu số (Numeric), khi sắp xếp giảm dần, ta

có thể dùng dấu “-” đằng trước

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

SẮP XẾP DỮ LIỆU (Cont)

• Sử dụng các tệp đã sắp xếp

USE INDEX

Hoặc

USE ORDER

4

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

SẮP XẾP DỮ LIỆU (Cont)

• Ví dụ USE DSSV INDEX ON Masv TO dssv_idx USE DSSV INDEX dssv_idx

Hoặc

Use DSSV Index On MASV Tag DSSV_Tag Use DSSV Order DSSV_Tag

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

NỘI DUNG

(cid:1) Tìm kiếm dữ liệu

(cid:1) Tìm kiếm tuần tự - Câu lệnh LOCATE

(cid:1) Tìm kiếm sau khi lập chỉ mục – Câu lệnh

SEEK & câu lệnh FIND

Wednesday, May 27, 2009

Tin Quản Lý - Visual Foxpro

5

TÌM KIẾM DỮ LIỆU

• Câu lệnh LOCATE Cú pháp

LOCATE FOR

Một số hàm, câu lệnh đi kèm với câu lệnh LOCATE - FOUND (): cho biết có tìm thấy bản ghi nào thỏa mãn điều kiện

tìm kiếm hay không? (FOUND() = .T.)

- RECNO(): cho biết số hiệu của bản ghi thỏa mãn điều kiện tìm - CONTINUE: tiếp tục tìm kiếm

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

TÌM KIẾM DỮ LIỆU (Cont)

• Lệnh FIND và lệnh SEEK (Hai lệnh này chỉ sử dụng để tìm kiếm dữ liệu trên các tệp dữ liệu đã được

sắp xếp bằng lệnh INDEX)

Cú Pháp

FIND

hoặc

SEEK

VD: …

6

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

NỘI DUNG

(cid:1) Thống kê dữ liệu

(cid:1) Biến nhớ (Variable)

(cid:1) Câu lệnh COUNT

(cid:1) Câu lệnh SUM

(cid:1) Câu lệnh AVERAGE

(cid:1) Câu lệnh CALCULATE

(cid:1) Câu lệnh TOTAL ON

Wednesday, May 27, 2009

Tin Quản Lý - Visual Foxpro

KHÁI NIỆM BIẾN

• Biến là gì? • Có bao nhiêu loại biến? – Biến nhớ và Biến trường • Biến trường ≈ Trường • Biến nhớ: một vùng nhớ được sử dụng để lưu trữ giá

trị trong quá trình thực hiện công việc

7

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

BIẾN NHỚ - VARIABLE

• Các thuộc tính của biến nhớ

– Tên biến - Name – Kiểu dữ liệu của biến – Datatype – Độ rộng của biến - Width – Giá trị - Value

• Ví dụ:

• _Name = “Nguyễn Văn An”

• _DateOfBirth = {09/03/1984}

• _Mark = 9.5

• …

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

Câu lệnh COUNT

• Cú pháp

COUNT [FOR ]

TO

• VD: COUNT all FOR DiemLT>=5.0 TO _dem

?_dem

8

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

Câu lệnh SUM

• Cú pháp

SUM TO

nhớ> [FOR ]

VD: 1. SUM all Thuclinh TO _Tongthuclinh

?_Tongthuclinh

2. SUM all Doanhthu TO _TongDT FOR

thang=12

?_TongDT

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

Câu lệnh AVERAGE

• Cú pháp

AVERAGE [] TO

nhớ> [FOR ]

VD: 1. AVERAGE all DiemTB TO _DTB

? _DTB

9

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

Câu lệnh CALCULATE

• Cú pháp

CALCULATE TO [FOR ]

Hàm tính có thể là MIN(), MAX(),AVG(),.. VD: Calc Max(DiemLT) to _MaxLT

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

Câu lệnh TOTAL ON

• Cú pháp

TOTAL ON TO

FIELD [FOR ]

10

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro

Câu lệnh TOTAL ON

Doanhthu1.dbf

• Ví dụ:

Người bán

Tiền bán hàng

Lan Hương

1.000.000

Thanh Trúc

850.000

Lan Hương

500.00

Xuân Thành

450.000

Total On Nguoiban Field Tienban

Thanh Trúc

200.000

To Doanhthu2

Doanhthu2.dbf

Người bán

Tiền bán hàng

Lan Hương

1.500.000

Thanh Trúc

1.050.000

Xuân Thành

450.000

11

Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro