Ở mục 3.3.2 chỳng ta đó được tỡm hiểu về Total query trong việc đỏp ứng cỏc yờu cầu tổng hợp dữ liệu. Trờn thực tế cũn rất nhiều cỏc yờu cầu tổng hợp khỏc mà
Total query khụng thể đỏp ứng được. Trong số đú, nhiều yờu cầu được nờu ra như trong hỡnh 3.19 là:
Hỡnh 3.19
Tất cả những yờu cầu dạng trờn cú thể sử dụng CROSSTAB query để đỏp ứng. Trước khi tỡm hiểu cỏch tạo Crosstab query, chỳng ta hóy tỡm hiểu cấu trỳc một Crosstab, được minh hoạ trong hỡnh 3.20:
Hỡnh 3.20
- Row heading là tiờu đề cỏc dũng, cú chứa cỏc giỏ trị của cỏc trường nào đú làm tiờu chớ thống kờ. Mỗi Crosstab phải cú tối thiểu 1 trường làm Row heading;
- Column heading là tiờu đề cỏc cột, cú chứa cỏc giỏ trị của một trường nào đú làm tiờu chớ thống kờ. Mỗi Crosstab chỉ cú duy nhất một trường làm Column heading;
- Value là vựng dữ liệu tổng hợp (là cỏc con số). Chỉ cú duy nhất một trường làm Value, tương ứng với nú là một phộp tổng hợp hoặc: đếm, tớnh tổng, tớnh trung bỡnh cộng, max, min...
Cỏc bước để tạo một Crosstab query: Vớ dụ tạo query đưa ra được bảng tổng hợp sau:
Hỡnh 3.21
Bước 1: Tạo một select query với đầy đủ cỏc trường cú liờn quan đến phộp tổng hợp (khụng thừa và cũng khụng thể thiếu một trường nào) như trong hỡnh 3.22:
Hỡnh 3.22
Bước 2: Ra lệnh chọn kiểu Crostab query bằng cỏch mở thực đơn Queries
Bước 3: Thiết lập cỏc thuộc tớnh Total cũng như Crosstab cho cỏc trường phự hợp như trong hỡnh 3.23:
Hỡnh 3.23
Cụ thể:
Tờn trường Thuộc tớnh Total Thuộc tớnh Crosstab
Tenphongban Group By Row Heading
Tenchucvu Group By Column Heading
canboID Count Value
Bản chất của Crosstab query thể hiện ở cõu lệnh SQL:
TRANSFORM ... SELECT ... FROM ... GROUP BY … PIVOT …