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
Có thể bạn quan tâm
Tài liêu mới
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
Có thể bạn quan tâm
Tài liêu mới
INDEX ON
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
Hoặc
USE
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
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 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 AVERAGE [ nhớ> [FOR VD: 1. AVERAGE all DiemTB TO _DTB ? _DTB 9 Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro CALCULATE 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 TOTAL ON FIELD 10 Wednesday, May 27, 2009 Tin Quản Lý - Visual Foxpro 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 Thanh Trúc 200.000 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 FoxproCâu lệnh AVERAGE
• Cú pháp
Câu lệnh CALCULATE
• Cú pháp
Câu lệnh TOTAL ON
• Cú pháp
TO Câu lệnh TOTAL ON
Total On Nguoiban Field Tienban
To Doanhthu2
Có thể bạn quan tâm
Tài liêu mới