Friday, May 31, 2013

Tìm hiểu dữ liệu nguồn của PivotTable - phần 1

Chúng ta có thể sử dụng nhiều loại dữ liệu để làm nguồn cho một PivotTable:
• Sử dụng dữ liệu từ một bảng tính Excel trong cùng một Workbook
• Sử dụng dữ liệu từ một bảng tính Excel trong một Workbook khác
• Sử dụng dữ liệu kết hợp từ nhiều nguồn khác nhau nhưng có cấu trúc giống nhau (consolidate ranges)
• Sử dụng dữ liệu từ một báo cáo PivotTable khác
Những bài sau đây sẽ lần lượt điểm qua từng loại dữ liệu này.

Sử dụng dữ liệu của cùng một bảng tính Excel
Có lẽ cách dễ nhất và cũng được nhiều người sử dụng nhất là sử dụng dữ liệu của một bảng tính Excel để làm nguồn cho PivotTable. Dữ liệu này có thể nằm trong cùng một bảng tính, như đã được trình bày ở bài 1.
Mọi việc sẽ trở nên rất đơn giản khi bạn tạo một PivotTable trong cùng bảng tính chứa dữ liệu nguồn. Dữ liệu này phải được thiết kế theo dạng một List (trong Excel 2003), một Table (Excel 2010), với những yêu cầu sau:

• Hàng đầu tiên chứa tên các Field (hoặc tên của các cột)
• Hàng thứ hai và những hàng tiếp theo chứa dữ liệu
• Không có hàng bỏ trống, nhưng có thể có những ô trống

Để tìm hiểu kỹ hơn về cấu trúc của một Table, bạn có thể tham khảo ở bài "Phân tích dữ liệu với các Table".
Nếu có một ô nằm ở đâu đó trong vùng dữ liệu nguồn này được chọn khi bạn mở hộp thoại Create PivotTable, Excel sẽ tự động xác định địa chỉ của toàn bộ vùng dữ liệu và nhập nó vào trong mục Table/Range của hộp thoại. Nếu bạn muốn xác định chính xác địa chỉ của vùng dữ liệu nguồn, bạn có thể chọn một trong 3 cách sau:

1. Chọn một ô trong vùng dữ liệu trước khi mở hộp thoại. Địa chỉ của vùng dữ liệu sẽ được nhập vào tự động
2. Nhập trực tiếp địa chỉ của vùng dữ liệu trong mục Table/Range của hộp thoại
3. Sử dụng nút Select trong hộp thoại để chọn vùng dữ liệu
 nguồn dữ liệu pivottable 1
Có một cách rất hay và rất nên làm để chỉ cho Excel biết vùng dữ liệu nằm ở đâu, là tạo một cái tên (Name) cho vùng dữ liệu. Sử dụng Name thì tiện lợi hơn việc nhập địa chỉ hoặc chọn vùng dữ liệu mỗi khi bạn muốn tham chiếu đến chúng. Để tìm hiểu thêm về Name cho vùng dữ liệu, xin đọc bài: "Sử dụng tên cho dãy".

Tuy nhiên, nếu bạn sử dụng một Table của Excel 2010 để làm dữ liệu nguồn cho PivotTable, thì bạn khỏi cần quan tâm đến Name, bới chính bản thân Table đã có sẵn một cái tên, khi bạn tạo nó. Và khi đã có Name của dữ liệu nguồn, bạn chỉ việc nhập trực tiếp cái tên này vào trong mục Table/Range của hộp thoại Create PivotTable. Ví dụ, ở hình sau đây, dữ liệu nguồn của PivotTable là một dãy có tên là SalesData:
 nguồn dữ liệu pivottable 2
Sử dụng dữ liệu nguồn từ một bảng tính Excel khác
Nếu dữ liệu mà bạn sẽ dùng trong PivotTable nằm tron một bảng tính khác, các bước thể tạo PivotTable hơi khác một tí. Bạn sẽ phải xác định dãy ô (địa chỉ) chứa dữ liệu nguồn, và tên của workbook chứa dữ liệu nguồn.
Cách dễ nhất để thực hiện việc này, là mở đồng thời hai bảng tính. Môt cái sẽ chứa PivotTable, một cái chứa dữ liệu nguồn. Rồi làm theo các bước sau:

1. Chọn (kích hoạt) workbook sẽ tạo PivotTable.
2. Nhấn nút PivotTable trong tab Insert của Ribbon để mở hộp thoại Create PivotTable.
3. Hãy chắc chắn rằng tùy chọn Select a Table or Range đang được chọn.
4. Nhấn nút Select nằm ở phía bên phải của khung Table/Range, một hộp thoại Create PivotTable "nhỏ" như sau đây sẽ xuất hiện:
 nguồn dữ liệu pivottable 3
5. Nhấn Alt+Tab hoặc nhấn vào workbook chứa dữ liệu nguồn để kích hoạt nó. Bạn sẽ vẫn thấy cái hộp thoại Create PivotTable "nhỏ".
6. Chọn dãy chứa dữ liệu nguồn cho PivotTable. Địa chỉ của nó, bao gồm cả tên của workbook, sẽ tự động nhập vào trong hộp thoại Create PivotTable "nhỏ":
 nguồn dữ liệu pivottable 4
7. Nhấn vào nút Select trên cửa sổ Create PivotTable "nhỏ" để chấp nhận vùng chọn và đóng nó lại, quay về hộp thoại Create PivotTable "lớn".
8. Nhấn OK để quay về bảng tính với PivotTable vừa tạo.
Khi một PivotTable được "link" tới một bảng tính bên ngoài, bạn chỉ có thể cập nhật (update) PivotTable nếu đường link này tới bảng tính nguồn còn tồn tại. Khi bảng tính chứa dữ liệu nguồn bị đổi tên, bị dời đi chỗ khác, hoặc bị xóa, bạn sẽ không thể cập nhật PivotTable. Excel sẽ hiển thị một thông báo lỗi nếu bạn cố làm việc đó.

Có thể bạn thắc mắc là tại sao có nhiều người không làm một PivotTable trong cùng một bảng tính, mà lại làm PivotTable trong một bảng tính khác? Việc này, thật ra rất hữu ích, nhất là đối với những dữ liệu khổng lồ, cồng kềnh. Có lẽ bạn đã biết những bảng tính chứa một bảng dữ liệu lớn thì chạy chậm như thế nào. Khi đặt PivotTable trong một bảng tính khác, bạn vẫn có thể có được những thống kê, mà không cần thiết phải mở dữ liệu nguồn ra. Hoặc khi bạn muốn thống kê dữ liệu từ nhiều nguồn khác nhau, bạn có thể tạo một workbook trung gian, chứa nhiều PivotTable, mà mỗi PivotTable thì "link" đến một dữ liệu nguồn riêng.

Có một điều bạn cần nên biết, là bản thân PivotTalbe không bao giờ tự "refresh" dữ liệu, nghĩa là nó không thể tự động cập nhật khi dữ liệu nguồn thay đổi, bất kể dữ liệu nguồn nằm trong cùng một workbook với PivotTable hay nằm trong một worbook khác. Việc tính toán lại bảng tính (recalculated) cũng không cập nhật lại dữ liệu cho PivotTable.

Bạn phải thực hiện chuyện "refresh" bằng tay. Bằng hai cách:
• Nhấn chuột phải vào PivotTable và chọn lệnh Refresh Data
• Nhấn vào nút Refresh nằm trong tab PivotTable|Option trên Ribbon (bạn chỉ thấy tab này khi bạn kích hoạt PivotTable).
 nguồn dữ liệu pivottable
Sử dụng nhiều dãy dữ liệu có cùng cấu trúc (Multiple Consolidation Ranges)
Thuật ngữ "Multiple Consolidation Ranges" (nhiều dãy dữ liệu có cùng cấu trúc), thật ra không phức tạp như cái tên của nó. Tất cả chỉ đơn giản là tạo một PivotTable dựa trên hai hoặc nhiều bảng dữ liệu (là Table, hay là List trong các version trước). Những nguồn dữ liệu này có thể nằm trong cùng một bảng tính, hoặc nằm trong những bảng tính khác nhau. Nhưng, chức năng Create PivotTable của Excel 2010 mà chúng ta đã làm quen từ đầu đến giờ, lại không hỗ trợ Multiple Consolidate Ranges, và không có tùy chọn này. Để sử dụng được Multiple Consolidation Ranges, chúng ta phải cầu viện đến chức năng PivotTable and PivotChart Wizard, một chức năng có trong những version trước của Excel. Trong Excel 2010, chức năng này vẫn còn, nhưng bị ẩn đi. Để gọi nó ra, bạn phải sử dụng những phím tắt dùng để gọi PivotTable and PivotChart Wizard trong Excel 2003, đó là: Alt+D+P.

Nếu như bạn thuộc tất cả các phím tắt để gọi lệnh trên menu của Excel 2003, thì bạn có thể sử dụng chúng trong Excel 2010, cho dù Ribbon của Excel 2010 thì chẳng giống gì Menu Bar của Excel 2003.

Để sử dụng được Multiple Consolidation Ranges, bắt buộc mỗi danh sách mà bạn muốn dùng làm dữ liệu nguồn cho PivotTable phải có cùng cấu trúc, có nghĩa là tất cả những tiêu đề cột (nằm trên hàng đầu tiên) và tiêu đề dòng (nằm trong cột đầu tiên bên trái) phải giống hệt nhau. Nếu như có một hàng nào, hoặc cột nào nằm riêng lẻ, thì chúng sẽ không được tích hợp vào trong báo cáo PivotTable.

Đây là một ví dụ về các nguồn dữ liệu có thể sử dụng với chức năng Multiple Consolidation Ranges:
 
Để khởi động "Wizard", bạn hãy nhấn Alt+D rồi nhấn thêm phím P. Và tại Step 1, nhấn vào tùy chọn Multiple Consolidation Ranges:
nguồn dữ liệu pivottable 7
Sau khi nhấn Next để sang Step 2a, bạn sẽ có 2 tùy chọn:
• Create a single page field for me — Để Excel tự động tạo ra một Page Field đơn, với mỗi vùng dữ liệu nguồn là môt mục (item) trong Page Field đó. Page Field có thể tạm hiểu như là chức năng lọc "cấp 1" của PivotTable. Trong cửa sổ PivotTable Field Lists, Page Field chính là những mục nằm trong khung Report Filter. Nếu không có, xem như Page Field = All (xem tất cả các dữ liệu).
• I will create the page fields — Dùng tùy chọn này để tự tạo các Page Field của riêng bạn. Bạn có thể tạo tối đa là 4 Page Field, mỗi Page Field lọc ra một thành phần nào đó của các dữ liệu.

1 comment:

  1. Tìm hiểu về PivotTable với mình vẫn là vấn đề lớn. Mới Học Excel nên thấy phần này khó khó.

    ReplyDelete