Thống kê

Một phần của tài liệu Bài giảng Visual FoxPro pdf (Trang 42 - 45)

Đếm số lượng bản ghi

Cú pháp: COUNT [<phạm vi>][FOR<btlogic>] [WHILE<btlogic>] [TO<biến nhớ>]

Chức năng :lệnh dùng để đếm số mẫu tin trong bảng dữ liệu hiện hành thỏa mãn điều kiện các <bthức logic> nằm trong phạm vi được chỉ ra. Kết quả được đưa ra màn hình hay đưa vào <biến nhớ> nếu có TO.

Ví dụ: Cho biết có bao nhiêu nhân viên có NAMLV là 1980 use NHANVIEN

count for NAMLV = 1980 to songuoi

?’ có songuoi: ‘, songuoi, ‘ làm việc năm 1980’

Tính tổng giá trị các trường kiểu số

Cú pháp: SUM [<phạm vi>] [<dsách bt>] [TO <ds biến>] [FOR <bt logic>] [WHILE <btlogic>]

Chức năng : Lệnh sẽ lấy tổng theo các biểu thức được xây dựng dựa trên các trường kiểu số, của các bản ghi trong bảng dữ liệu; nằm trong <phạm vi> và thỏa mãn điều kiện của các <bthức logic>. Nếu không có <ds biểu thức> thì các trường kiểu số đều được lấy tổng.

Mặc định, kết quả được đưa ra màn hình; nếu có TO <dsbiến> thì kết quả của các <biểu thức> sẽđược đưa vào các <biến> tương ứng.

Chú ý : Phải tương ứng 1-1 giữa <ds biểu thức> và <ds biến>.

Ví dụ: Dựa vào bảng NHANVIEN, cho biết tổng LUONG phải trả và tổng PHUCAP là bao nhiêu.

use NHANVIEN

sum LUONG, PHUCAP to tongluong, tongpc ?’ tong luong la:’ , tong luong

?’ tong phu cap la:’ , tongpc

Tính trung bình cộng các trường kiểu số

Cú pháp: AVERAGE [<phạm vi>] [<ds biểu thức>] [TO <ds biến >] [FOR <bt logic>][WHILE <bt logic>]

Chức năng : giống như lệnh SUM ở trên nhưng sau khi lấy tổng, lệnh sẽ lấy giá trị đó

đem chia cho tổng số bản ghi tham gia vào câu lệnh.

Ví dụ: dựa vào bảng NHANVIEN, cho biết trung bình mỗi nhân viên nhận được bao nhiêu LUONG, PHU CAP.

use NHANVIEN

average LUONG, PHUCAP to tbluong, tbphucap ?’ trung binh luong:’ , tbluong

?’ trung bình phu cap:’ , tbphucap

Tính tổng các trường số theo nhóm

CÚ PHÁP: TOTAL ON <BT KHÓA> TO <TÊN BảNG MớI.DBF>[<PHạM VI>] [FIELD <dstrường>][FOR <biêủ thức L>][WHILE < biêủ thức L>]

Chức năng: Lệnh sẽ cộng dồn các trường kiểu số theo từng nhóm bản ghi có <bt khóa> giống nhau và đưa vào bảng mới có tên được chỉ ra ở <tên bảng .DBF>. Mặc định thì tất cả các trường kiểu số đều được cộng dồn, nếu có FIELDS <danh sách trường> thì chỉ có các trường liệt kê mới được cộng. Lệnh chỉ tác động đến các bàn ghi nằm trong (phạm vi) và thoả mãn điều kiện đi sau các mệnh đề FOR, WHILE.

Chú ý: Trước khi dùng lệnh này, bảng dữ liệu phải định sắp xếp theo khoá.

Ví dụ: Dựa vào bảng VATTV, hãy thống kê xem mỗi mặt hàng đã xuất hay nhập một số

lượng là bao nhiêu. use VATTV

index on MAXN + MAVT to CMTK

total on MAXN + MAVT to THONGKE fields SOLUONG use THONGKE (adsbygoogle = window.adsbygoogle || []).push({});

list MAXN, MAVT, SOLUONG, DONGIA Giả sử bảng VATTU sau khi sắp xếp là:

Kết quả của bảng THONGKE.DBF là:

IV. Sắp xếp

Lệnh INDEX ON <BieuThuc> <TO IDXFile | TAG TagName> [ASCENDING | DESCENDING]

• Với các bảng dữ liệu, có thể sắp xếp các bản ghi theo một thứ tự (tiêu chuẩn nào đó) nào đó. Lệnh INDEX cho phép tạo ra các tiêu chuẩn sắp xếp (chỉ mục - index) đối với bảng, tham số <BieuThuc> chính là tiêu chuẩn sắp xếp.

• Tùy chọn TO IDXFile cho phép tạo ra file chỉ mục dạng IDX, với tên file là IDXFile và phần mở rộng là IDX (tạo chỉ mục dạng này sẽ không thể chọn được chiều DESCENDING và mỗi file chỉ xác định 1 tiêu chuẩn sắp xếp).

• Tùy chọn TAG TagName cho phép tao ra một chỉ mục có tên là TagName trong file chỉ

mục kết hợp (file chỉ mục này có tên trùng với tên bảng, và phần mở rộng là CDX). Ví dụ

USE HOSOSV

INDEX ON masv TO masvidx BROW

INDEX ON hoten TAG hoten2 DESCENDING BROW

Lệnh SET ORDER TO [IDXFile | TagName]

Lệnh này cho phép thay đổi tiêu chuẩn sắp xếp của bảng. Trong đó: IDXFile - tên file dạng IDX (đã tạo bằng lệnh INDEX trước đó); TagName - Tên chỉ mục trong file kết hợp (file dạng CDX). Ví dụ

USE HOSOSV SET ORDER TO Masv BROW

SET ORDER TO Hoten2 BROW

SET ORDER TO masvidx

SET ORDER TO (không tham số) dùng để bỏ việc sắp xếp (trở lại thứ tự nhập).

Một phần của tài liệu Bài giảng Visual FoxPro pdf (Trang 42 - 45)