Khi bạn đã thiết lập phiên bản TabPy, bạn có thể dễ dàng định cấu hình Tableau để sử dụng dịch vụ này để đánh giá mã Python
Máy tính để bàn Tableau
Để định cấu hình Tableau Desktop phiên bản 10. 1 trở lên để kết nối với máy chủ TabPy, hãy làm theo các bước tại Tableau Cấu hình trang tài liệu kết nối tiện ích mở rộng Analytics
Máy chủ Tableau 2020. 2 và các phiên bản mới hơn
Bắt đầu từ Tableau Server 2020. 2 kết nối tiện ích mở rộng phân tích được định cấu hình ở cấp trang web như được hiển thị trên trang Định cấu hình kết nối với tiện ích mở rộng Analytics
Máy chủ Tableau 2020. 1 tuổi trở lên
Đối với các phiên bản Tableau Server cũ hơn, hãy tham khảo tài liệu dành riêng cho phiên bản
Máy chủ Tableau 2018. 2 và 2018. 3
Để cấu hình Tableau Server 2018. 2 và các phiên bản mới hơn để kết nối với máy chủ TabPy, hãy làm theo hướng dẫn trên trang Tableau Configure Connections to Analytics Extensions
Bạn có thể tìm thấy chi tiết cụ thể về cách định cấu hình kết nối an toàn với TabPy, bật hoặc tắt kết nối và các cài đặt khác tại trang tài liệu Tableau TSM Security
Để biết cách định cấu hình phiên bản TabPy, hãy làm theo hướng dẫn tại Tài liệu cấu hình máy chủ TabPy
Máy chủ Tableau 2018. 1 và các phiên bản cũ hơn
Để workbook Tableau có mã Python nhúng hoạt động trên Tableau Server 10. 1 trở lên, bạn cần thực hiện thiết lập tương tự nhưng sử dụng tiện ích dòng lệnh tabadmin. Hai cài đặt máy chủ cần được định cấu hình là vizqlserver.extsvc.host
và vizqlserver.extsvc.port
tabadmin stop
tabadmin set vizqlserver.extsvc.host
tabadmin set vizqlserver.extsvc.port
tabadmin configure
tabadmin start
Lưu ý rằng bạn không thể sử dụng kết nối an toàn TabPy với 2018. 1 và các phiên bản cũ hơn của Tableau
Lưu ý rằng không cần thiết phải cài đặt TabPy trên Máy chủ Tableau hoặc Máy tính để bàn - tất cả những gì được yêu cầu là một con trỏ tới phiên bản máy chủ TabPy
Khi bạn đã hoàn tất cấu hình, bạn có thể sử dụng Python trong các trường được tính toán trong Tableau
Giải phẫu tính toán Python
Tableau có thể chuyển mã tới TabPy thông qua bốn chức năng khác nhau. SCRIPT_INT, SCRIPT_REAL, SCRIPT_STR và SCRIPT_BOOL để chứa các loại trả về khác nhau. Trong ví dụ bên dưới, bạn có thể thấy một hàm đơn giản chuyển một cột tên sách [được đánh dấu bằng màu xanh lam] sang Python để viết hoa phù hợp. Vì Python trả về một mảng chuỗi nên hàm SCRIPT_STR được sử dụng
Để lệnh gọi SCRIPT tới Python thành công, nó cần trả về kết quả được chỉ định rõ ràng bằng từ khóa return
[được đánh dấu màu đỏ]
Trong ví dụ đơn giản này, chỉ có một đầu vào nhưng bạn có thể chuyển bao nhiêu đối số cho các hàm SCRIPT tùy thích. Tableau lấy các đối số theo thứ tự được cung cấp và thay thế các trình giữ chỗ _argN cho phù hợp. Trong trường hợp này, ATTR[[Book Name]] ánh xạ tới _arg1 và cả hai đều được tô sáng để biểu thị mối liên kết
Tableau mong muốn SCRIPT trả về một cột có một hàng hoặc cùng số hàng khi nó được chuyển đến TabPy. Ví dụ trên gửi 18 hàng dữ liệu tới TabPy và nhận lại 18 hàng
Trong ví dụ bên dưới, Tableau chuyển nhiều cột sang TabPy và nhận lại một giá trị [hệ số tương quan]. SUM[Doanh số] và SUM[Lợi nhuận] được sử dụng tương ứng làm đối số 1 và 2 và được đánh dấu bằng các màu phù hợp. Trong trường hợp này, hàm corrcoef
trả về một ma trận mà từ đó hệ số tương quan được trích xuất sao cho một cột duy nhất được trả về
Tableau tổng hợp dữ liệu trước khi gửi tới TabPy bằng cách sử dụng mức độ chi tiết của chế độ xem. Trong ví dụ cụ thể này, mỗi điểm trong biểu đồ phân tán là một Khách hàng và TabPy đang nhận SUM[Doanh số] và SUM[Lợi nhuận] cho mỗi Khách hàng
Nếu bạn muốn chạy mã Python của mình trên dữ liệu phân tách, bạn có thể đạt được điều này đơn giản bằng cách bỏ chọn tùy chọn Số đo tổng hợp trong menu Phân tích
Ví dụ trên cho thấy một khả năng khác có thể hữu ích nếu bạn muốn chạy cùng một tập lệnh Python nhiều lần trong các ngữ cảnh khác nhau. Trong ví dụ cụ thể này, việc bỏ chọn hộp Danh mục và Phân đoạn trong hộp thoại Tính toán bảng sẽ dẫn đến việc Tableau thực hiện nhiều lệnh gọi tới TabPy, một lần cho mỗi ngăn trong phần trực quan hóa. Chạy phân tích hồi quy một cách độc lập cho từng kết hợp Phân đoạn-Danh mục
Trong tất cả các ví dụ này, cấu trúc dữ liệu được hàm trả về có thể được sử dụng bởi Tableau. Điều này có thể không phải lúc nào cũng đúng. Nếu mã Python của bạn trả về một mảng một chiều nhưng TabPy không tuần tự hóa nó thành JSON, bạn có thể muốn chuyển đổi nó thành một danh sách như trong ví dụ bên dưới
Bạn có thể tìm thấy hai ví dụ làm việc chi tiết với sổ làm việc Tableau mẫu có thể tải xuống trên blog của chúng tôi
Sử dụng chức năng đã triển khai
Tài liệu Công cụ TabPy bao gồm chi tiết cách các chức năng có thể được triển khai dưới dạng điểm cuối. Bạn có thể gọi các điểm cuối như vậy bằng cách sử dụng tùy chọn tabpy.query
bằng cách chỉ định tên điểm cuối và các đối số và truy xuất đối tượng response
Trường được tính toán SCRIPT trong Tableau bằng cách sử dụng điểm cuối bổ sung được xác định trong tài liệu Công cụ TabPy có thể trông giống như sau
SCRIPT_REAL["
return tabpy.query['add',_arg1,_arg2]['response']",
-SUM[[Discount]],SUM[[Price]]]
Bạn có thể tìm thấy một ví dụ hoạt động chi tiết với sổ làm việc Tableau mẫu có thể tải xuống cho biết cách xuất bản các mô hình và sử dụng các mô hình đã xuất bản trong các trường được tính toán trên blog của chúng tôi