Khóa học
Việc tạo biến hoặc trường mới rất quan trọng khi trích xuất insight từ dữ liệu. Thường thì một bộ dữ liệu không chứa đầy đủ thông tin cần thiết để rút ra insight, nhưng bạn có thể suy ra các đặc trưng mới từ các đặc trưng hiện có, như giá trị trung bình, tỷ lệ, thùng (bins), và biến phân loại. Phần lớn thời gian, cần có các trường mới để có được phân tích và trực quan hóa rõ ràng hơn.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn tạo các trường với Tableau. Chúng ta sẽ đi từng bước, bắt đầu từ các ví dụ đơn giản đến phức tạp hơn, và ở cuối, chúng tôi sẽ đưa ra thêm mẹo và tài nguyên để thành thạo tính năng cực kỳ hữu ích này trong Tableau.
Trường Tính toán trong Tableau là gì?
Trường Tính toán là một trong những tính năng mạnh mẽ nhất của Tableau. Chúng cung cấp cách để tạo dữ liệu mới từ dữ liệu hiện có. Ví dụ, giả sử chúng ta muốn dự đoán giá một căn hộ ở New York dựa trên các đặc điểm của nó, như số phòng ngủ, số phòng tắm, v.v.
Có thể sẽ hữu ích khi biết căn hộ cách ga tàu điện ngầm bao xa, nhưng thông tin này không có trực tiếp trong bộ dữ liệu. Khi đó, chúng ta cần suy ra từ các trường hiện có, như địa chỉ. Bạn có thể dễ dàng tìm hiểu về tính năng Tableau này từ khóa học của chúng tôi.
Vì sao dùng Trường Tính toán trong Tableau?
Với mức độ phổ biến của Tableau trong việc tạo trực quan hóa dữ liệu, tại sao việc tạo Trường Tính toán lại quan trọng? Có một số lý do:
1. Khi bộ lọc là chưa đủ
Đôi khi, khó áp dụng bộ lọc khi có dữ liệu thiếu hoặc nhiều điều kiện cần đáp ứng. Xây dựng một trường tính toán có thể tiết kiệm thời gian khi có nhiều điều kiện phải xem xét. Giả sử bạn làm việc tại một công ty phần mềm và đang cố gắng phân nhóm người dùng dựa trên thời gian kể từ khi họ đăng ký, lượng thời gian họ đã sử dụng nền tảng của bạn, những tính năng họ đã dùng và số tiền họ trả cho bạn. Logic để xử lý nhiều biến như vậy có thể trở nên rất phức tạp, và trong trường hợp này, việc tạo một trường tính toán sẽ dễ hơn là dùng các công cụ lọc.
2. Khi chúng ta muốn phân đoạn dữ liệu
Trong một số trường hợp, cần tạo các đặc trưng phân loại từ một đặc trưng số, đặc biệt khi tạo trực quan hóa dữ liệu. Điều này được gọi là "binning" hoặc "rời rạc hóa" dữ liệu số. Một ví dụ phổ biến là thay vì báo cáo độ tuổi chính xác, bạn nhóm họ vào các dải tuổi, như 16–25, 26–35, 36–45, v.v. Điều này có thể giúp bảo vệ quyền riêng tư của những người trong bộ dữ liệu.
3. Khi chúng ta muốn tạo các biểu thức cơ bản
Một ưu điểm quan trọng khác của việc tạo trường tính toán là chuyển đổi dữ liệu ở cấp độ từng dòng dựa trên một hoặc nhiều biến. Thay đổi đơn vị của một biến là ví dụ phổ biến. Bạn có thể muốn chuẩn hóa giá trị doanh số quốc tế về đô la Mỹ hoặc chuyển đổi đơn vị imperial sang hệ mét.
Mặc dù các phép tính theo từng dòng sẽ trả về một giá trị cho mỗi dòng của bộ dữ liệu, bạn cũng có thể tính các thước đo tổng hợp, còn gọi là thống kê tóm tắt, để trả về một giá trị duy nhất như trung bình, phương sai, giá trị nhỏ nhất và lớn nhất.
Hướng dẫn Trường Tính toán Tableau
Hãy thử một vài ví dụ thực tế sử dụng dữ liệu tóm tắt danh sách mở của Airbnb tại Lisbon, Bồ Đào Nha. Dữ liệu đến từ Inside Airbnb. Mỗi dòng tương ứng với một danh sách Airbnb khác nhau.
Các đặc trưng bao gồm tên chủ nhà, khu phố, loại phòng, v.v. Sau khi cài đặt Tableau Public trên máy tính của bạn, bạn chỉ cần mở tệp listing.csv dưới dạng tệp văn bản, và sau đó có thể bắt đầu tạo các trường mới.
Với mỗi ví dụ trong sáu ví dụ sau, chúng tôi khuyến nghị bạn bắt đầu với một trang tính mới vì mỗi lần chúng ta sẽ làm việc với các trường khác nhau.
1. Tạo một trường đơn giản
Giả sử chúng ta muốn trực quan hóa số lượng đánh giá theo tháng, nhưng chỉ có [Last Review] với đầy đủ ngày tháng. (Trong trường hợp này, [Reviews Per Month] là một trường sẵn có, và chúng ta sẽ dùng nó để kiểm tra kết quả.) Vì vậy, chúng ta muốn trích xuất tháng từ trường đó.
Để thực hiện thao tác này, cần các bước sau:
-
Tạo một trang tính mới
-
Nhấp chuột phải vào
[Last Review] -
Chọn Create > Create a calculated field.
-
Trong trình soạn thảo phép tính, chúng ta cần định nghĩa trường tính toán. Tableau cung cấp các Hàm Ngày để xử lý dữ liệu thời gian, như
DAY,MONTH, vàYEAR. Để biết thêm thông tin, xem tài liệu Tableau. -
Cho trường hợp này, chúng ta sẽ thêm
MONTH([Last Review])vào trình soạn thảo phép tính -
Khi viết xong công thức, chúng ta đổi tên mặc định thành Month of Last Review và nhấp OK.
-
Chúng ta chuyển
Month of Last Reviewthành Dimension bằng cách nhấp chuột phải vào measure trong ngăn Data và chọn Convert to Dimension. -
Sau khi trường mới được tạo, chúng ta muốn nghiên cứu số lượng đánh giá theo khu phố và tháng ở Lisbon. Thêm Neighborhood và Month vào Rows, trong khi số lượng đánh giá được đưa vào cửa sổ marks.
-
Bạn có thể nhận thấy Tableau mặc định lấy tổng số lượng đánh giá. Có thể thay đổi loại tổng hợp, nhưng chúng ta giữ tổng vì điều đó hợp lý trong ngữ cảnh này.
-
Kéo trường số lượng đánh giá vào thẻ text để hiển thị số đánh giá theo khu phố và tháng.
-
Chúng ta cũng loại bỏ các giá trị null của trường Month bằng cách nhấp chuột phải vào một trong các giá trị đó và chọn Exclude.
Chúc mừng! Bạn đã học cách tạo trường tính toán đầu tiên trong Tableau khi làm việc với các hàm ngày, vốn rất hữu ích với dữ liệu thời gian. Hơn nữa, bạn đã hiểu cách tạo bảng tổng hợp (pivot) sử dụng tiêu đề hàng và lọc theo một trường.

2. Tính toán trường với câu lệnh if-then
Một trường khác có thể được tạo để nghiên cứu giá phụ thuộc vào việc đánh giá được viết trong tuần hay vào cuối tuần. Chúng ta chắc chắn kỳ vọng quan sát mức giá cao hơn vào cuối tuần so với phần còn lại của tuần, nhưng cũng nên cân nhắc rằng một số khách hàng không viết đánh giá vào đúng ngày họ trả phòng.
Trường này có thể tạo được thông qua các câu lệnh IF-THEN, là một phần của các hàm logic sẵn có của Tableau. Tùy vào điều kiện đặt ra, nó trả về một giá trị cụ thể.
Các bước như sau:
1. Tạo một trang tính mới
2. Nhấp chuột phải vào Last Review.
3. Nhấn Create > Create a calculated field.
4. Trong ô trống, chúng ta viết công thức với các câu lệnh if-else. Lần này, chúng ta cần trích xuất thứ trong tuần từ trường Last Review, trong đó 1 và 7 lần lượt tương ứng với Chủ nhật và Thứ bảy. Vậy, chúng ta tạo một biến mới, gọi là Weekend day, trả về ‘Weekend day’ nếu thứ trong tuần là Thứ bảy hoặc Chủ nhật, và ‘Working day’ nếu không.
If DATEPART('weekday',[Last Review]) IN (1, 7) THEN 'Weekend day'
ELSE 'Working day'
END
5. Nhấp nút OK khi hoàn tất
6. Một lần nữa, chúng ta chuyển weekend days sang Dimension.
Trong trường hợp này, chúng ta muốn quan sát giá trung bình vào cuối tuần so với giá trung bình trong các tuần của năm 2022:
- Hộp Rows sẽ chứa trường price, được tổng hợp theo trung bình, trong khi trường Weekend day được đặt trong hộp Columns.
- Kéo Month của Last Review vào thẻ Marks và nhấp Color để trực quan hóa sự khác biệt về giá theo tháng.
- Chúng ta cũng muốn lọc theo năm. Thay vì tạo một biến mới cho năm của lần đánh giá cuối, chúng ta có thể dùng trực tiếp trường Last Review. Kéo nó vào hộp filters và chọn Years. Sau đó, nhấp Next và chọn 2022.
- Sau khi hoàn tất thiết lập, nhấp OK.
- Chúng ta chọn biểu đồ hộp râu (box-and-whisker) làm loại biểu đồ.
- Màu mặc định của box plot là xám. Nếu muốn thay đổi, nhấp chuột phải vào một trong các boxplot và chọn Edit.
- Vào hộp Box plot
- Chọn màu bạn thích trong danh sách thả xuống Fill

Từ các boxplot, chúng ta có thể dễ dàng hình dung phân phối giá trong tuần và vào cuối tuần. Năm 2022, giá trung bình vào cuối tuần có vẻ cao hơn so với phần còn lại của tuần. Thông tin này có thể suy ra bằng cách nhìn vào giá trị nhỏ nhất, tứ phân vị thứ nhất, trung vị, tứ phân vị thứ ba và giá trị lớn nhất.
Về tháng của lần đánh giá cuối, chúng ta có thể quan sát mức giá trung bình cao nhất vào cuối tuần là tháng Hai và tháng Sáu, trong khi trong tuần, các tháng có vẻ đắt nhất là tháng Một và tháng Năm.

3. Tính toán trường dựa trên group by
Trong Airbnb, sự tin tưởng của khách hàng đóng vai trò then chốt. Chủ nhà có càng nhiều đánh giá, khách hàng càng có xu hướng tin tưởng họ và danh sách của họ. Vì vậy, chúng ta muốn tìm tổng số đánh giá cho mỗi chủ nhà.
Kết quả có thể đạt được bằng cách tận dụng biểu thức FIXED. Nó tính một giá trị cho mỗi dimension được xét. Trường hợp này có thể chia thành các bước:
1. Tạo một trang tính mới
2. Nhấp Analysis từ menu và chọn tùy chọn Create Calculated Field... .
3. Đặt tên trường là Reviews Per Host và viết công thức như bên dưới. Biểu thức FIXED được dùng để nhóm dữ liệu. Nó tương đương với GROUP BY trong SQL.
{FIXED [Host Id],[Host Name]:SUM([Number Of Reviews])}
4. Chọn OK sau khi bạn đã viết đúng công thức.
Tuyệt vời! Chúng ta đã tạo trường Reviews Per Host. Giờ là lúc tạo một trang tính mới và trực quan hóa trường mới bằng cột xếp chồng.
Vì vậy, chúng ta cần thêm tổng của trường mới này vào hộp rows, trong khi Host Id và Host Name được đưa vào Columns. Sau đó, chọn biểu tượng sắp xếp số lượng đánh giá và nhấp một lần để có số lượng đánh giá theo thứ tự giảm dần.
Từ các cột xếp chồng này, chúng ta có thể nhìn thấy 14 chủ nhà đứng đầu có số lượng đánh giá cao nhất và do đó, được khách hàng tại Lisbon tin tưởng nhiều nhất.

4. Tạo Trường Tính toán để Lọc
Trực quan hóa dữ liệu được tạo ở ví dụ trước khá rối. Sẽ tốt hơn nếu quan sát trực tiếp các chủ nhà có số đánh giá cao nhất. Vì lý do này, chúng ta sẽ tạo một trường cho các chủ nhà có hơn 5.000 đánh giá.
1. Tạo một trang tính mới
2. Nhấp chuột phải vào Reviews Per Host, trường đã tạo trước đó.
3. Nhấn Create > Create a calculated field.
4. Đặt tên trường là Reviews 5k và viết công thức như đã nêu ở trên. IIF() là một hàm logic kiểm tra một điều kiện có được đáp ứng không. Trong trường hợp này, điều kiện là kiểm tra xem số đánh giá trên mỗi chủ nhà có lớn hơn 5.000 hay không. Nếu điều kiện đó đúng, chế độ là ‘Apply Filter.’ Giá trị khác là ‘No filter’ trong trường hợp ngược lại.
IIF([Reviews Per Host]>5000,'Apply Filter','No Filter')
5. Nhấn OK
Sau khi trường được thêm vào bộ dữ liệu, chúng ta có thể tái tạo cùng biểu đồ như khi xây dựng Reviews Per Host. Ngoài ra, thêm Reviews 5k vào hộp filter, và chọn chế độ Apply Filter. Bằng cách này, chúng ta sẽ quan sát các chủ nhà có hơn 5.000 đánh giá.

Chúng ta có thể quan sát ba chủ nhà dẫn đầu đạt hơn 7.000 đánh giá. Chủ nhà phổ biến nhất là Pedro, với 9.000 đánh giá.
5. Các bin Tính toán trong Tableau
Đây là phần cuối: chúng ta chia giá trung bình thành các nhóm có kích thước bằng nhau, gọi là bins. Bins rất hữu ích để tổ chức các giá trị của một measure thành các nhóm khác nhau.
Ví dụ, nếu chúng ta đang nghiên cứu giá trung bình trong tuần và vào cuối tuần, việc so sánh hai phân phối này bằng cách tách biệt các khoảng giá khác nhau sẽ rất hữu ích.
Quy trình xây dựng bins rất dễ và trực quan.
- Tạo một trang tính mới
- Nhấp chuột phải vào Price.
- Nhấn Create > Bins.
- Chỉnh kích thước bin bằng 500.
- Nhấp OK khi hoàn tất thiết lập.
Vì vậy, chúng ta muốn điều tra lại giá trung bình trong tuần và vào cuối tuần, sử dụng trường weekend day được tạo ở ví dụ thứ hai. Từ phân tích trước, giá trung bình năm 2022 có vẻ cao hơn vào cuối tuần so với trong tuần. Hãy kiểm tra lại bằng cách thêm giá được chia thành các khoảng khác nhau:
- Hộp Rows chứa trường Price, được tổng hợp theo trung bình
- Kéo các trường Weekend day và Price(bins) vào hộp Columns
- Đặt Price(bins) vào thẻ Marks và nhấp Color.
- Kéo trường Last Reviews vào hộp filters và chọn Years. Sau đó, nhấp Next và chọn 2022. Cuối cùng, nhấp OK.
Từ hai biểu đồ histogram, chúng ta có thể nhận thấy giá trung bình trong tuần đạt cực đại giữa 200 và 2500, trong khi vào cuối tuần có các khoảng chứa giá trị giá trung bình cao hơn. Khía cạnh này chắc chắn ảnh hưởng đến hai phân phối và xác nhận quan sát ở ví dụ thứ hai rằng giá trung bình cao hơn vào cuối tuần so với phần còn lại của tuần.

Một chức năng khác có thể hữu ích khi làm việc với bins là khả năng chỉnh kích thước bin từ chú giải biểu đồ.
Đây là các bước để tạo tham số động nhằm thay đổi kích thước bins:
- Chọn mũi tên thả xuống ở đầu ngăn dữ liệu và chọn Create Parameter từ các tùy chọn.
- Đổi tên tham số thành Price Bins Control và đặt giá trị hiện tại bằng 100.
- Trong hộp tùy chọn cho phép, nhấn Range.
- Đặt Minimum là 100, Maximum là 5000, và Step size là 100.
- Nhấp OK.
Sau khi tham số này được tạo, chúng ta cũng cần chỉnh sửa trường Price (bins). Thay vì kích thước bước bằng 500, chúng ta thay bằng tham số Price Bins Control. Thao tác này được thực hiện bằng cách:
- Nhấp chuột phải vào trường Price(Bins) và chọn Edit.
- Nhấp mũi tên xuống bên cạnh kích thước bins và chọn Price Bins Control.
- Nhấp OK.
Tiếp đó, nhấp chuột phải vào Price Bins Control, và chọn Show Parameter. Sau đó, chúng ta có thể điều chỉnh kích thước bins thông qua tham số này. Điều này thực hiện bằng cách nhấp hai mũi tên dưới tham số ở góc trên bên phải: mũi tên trái để giảm kích thước bins và mũi tên phải để tăng giá trị.
Bạn sẽ nhận thấy các biểu đồ histogram sẽ thay đổi ngay khi bạn tăng kích thước bins.

6. Tính toán Trường Exclude
EXCLUDE là một biểu thức trong Tableau cho phép bạn tạo trường trong đó một số chi tiết được loại bỏ. Trong hướng dẫn này, chúng ta có thể dùng nó để quan sát số lượng đánh giá bằng cách loại trừ khu phố. Thật vậy, rất khó để trực quan hóa số lượng đánh giá được nhóm theo từng khu phố và tổng số đánh giá không xét khu phố trong cùng một bảng. Trước khi bắt đầu, hãy tạo một trang tính mới.
Để tạo trường này, chúng ta làm theo các bước:
1. Tạo một trang tính mới
2. Nhấn Analysis từ menu và chọn Create Calculated Field.
3. Đặt tên trường là Reviews no neighborhood và viết công thức sau.
{EXCLUDE [Neighborhood]:SUM([Number Of Reviews])}
4. Nhấp OK.
5. Kéo trường mới vào bảng pivot giữa Neighborhood và Number of Reviews.

Tài nguyên Tableau khác
Bài viết đã giới thiệu cho bạn về Trường Tính toán trong Tableau. Nó cũng đưa ra sáu ví dụ minh họa để giúp bạn hiểu vì sao cần tính toán các trường khi thực hiện phân tích khám phá.
Với hướng dẫn này, bạn có thể học cách tạo các trường tính toán đồng thời làm quen với Tableau. Bắt đầu với một giả thuyết đơn giản và biến nó thành thực tế bằng cách tận dụng chức năng này của Tableau. Bạn có thể tìm hiểu sâu hơn về Tableau với lộ trình Data Analyst in Tableau và tìm vài mẹo nhanh với Tableau Cheat Sheet của chúng tôi.