Blog

Tự động hóa Tableau với Python

Phân tích trực quan là sự kết hợp của Phân tích dữ liệu và Hình ảnh hóa. Cách tiếp cận giải quyết vấn đề này liên quan đến việc tạo điều kiện hiệu quả cho các hoạt động phức tạp, cấp cao như lập luận và ra quyết định theo hướng dữ liệu bằng cách tích hợp các biểu diễn trực quan tương tác với các quy trình phân tích cơ bản. Tableau là một Công cụ phân tích trực quan giúp đơn giản hóa việc tạo các phân tích hình ảnh tương tác dưới dạng trang tổng quan. Các bảng điều khiển này tạo điều kiện thuận lợi cho việc chuyển đổi dữ liệu thành các hình ảnh trực quan tương tác, dễ hiểu cho các nhà phân tích phi kỹ thuật và người dùng cuối.

Trong bài viết này, bạn sẽ có được thông tin về Tableau Automation với Python . Bạn cũng sẽ hiểu được toàn diện về Tableau, Python, các tính năng chính của chúng, thêm Python Scripts trong Tableau bằng Python & TabPy & Tableau Automation bằng Python & Tabcmd. Đọc cùng để tìm hiểu thông tin chuyên sâu về Tableau Automation với Python .

Điều kiện tiên quyết

Các điều kiện tiên quyết để trải qua quá trình tự động hóa Tableau với Python như sau:

  • Tải xuống và cài đặt phiên bản Python mới nhất.
  • Tải xuống và cài đặt máy chủ Python Tableau (TabPy). Cài đặt TabPy bằng cách làm theo hướng dẫn cài đặt và cấu hình.
  • Cài đặt thư viện Pandas bằng Python.
  • Để sử dụng các tích hợp một cách hiệu quả, (các) sổ làm việc Tableau phải có sẵn trên Tableau Server hoặc Tableau Online.

Tableau là gì?

Tableau là một nền tảng Phân tích dữ liệu và Kinh doanh thông minh hiện đại . Đây là một công cụ dễ sử dụng, do đó, nó mang lại trải nghiệm mượt mà cho người dùng. Một số tính năng tuyệt vời của nó bao gồm phân tích thời gian thực, phản hồi nhanh và bảng điều khiển tương tác. 

Nó cũng cung cấp đồ họa / hình ảnh hóa đơn giản nhưng hấp dẫn mà bạn có thể sử dụng để trình bày dữ liệu của mình một cách tượng hình. Nó đi kèm với tất cả các tính năng cần thiết để trích xuất dữ liệu, xử lý dữ liệu và tạo báo cáo và trang tổng quan. 

Nó cũng cung cấp chức năng kéo và thả giúp nó nhanh hơn các công cụ BI khác. Nó cũng là một công cụ rất có khả năng mở rộng, mang lại cho nó khả năng thích ứng với cả nhu cầu cá nhân và doanh nghiệp. Bạn cũng có thể kết nối nó với nhiều nguồn dữ liệu mà không cần phải mua giấy phép. Nó tương thích với thiết bị di động và có phiên bản trực tuyến. 

Nó có thể được sử dụng bởi tất cả các loại người dùng và không cần kỹ năng hoặc kiến ​​thức cụ thể để làm việc với công cụ. Người dùng từ bất kỳ phòng ban nào trong công ty của bạn đều có thể sử dụng nó để Phân tích Dữ liệu và Trực quan hóa Dữ liệu. 

Các tính năng chính của Tableau

Tableau là một công cụ mạnh mẽ và được sử dụng rộng rãi bởi rất nhiều ngành công nghiệp. Để hiểu rõ hơn về Tableau, chúng ta hãy xem xét một số tính năng chính của nó.

1) Supports Multiple Data Sources

Vì mọi tác vụ đều được thực hiện trên dữ liệu trong Tableau, nên nó cho phép bạn tích hợp dữ liệu của mình từ nhiều nguồn dữ liệu khác nhau như:

  • Microsoft Excel
  • Tệp CSV
  • Máy chủ MS SQL
  • Oracle
  • DB2 của IBM
  • Google BigQuery
  • Windows Azure
  • ODBC / JDBC, v.v.

Bạn có thể sử dụng những tích hợp này để truyền dữ liệu của mình tới Tableau và phân tích nó một cách liền mạch.

2) Houses a Wide Range of Visualizations

Tableau cũng cung cấp một số lượng lớn các công cụ đơn giản cho người dùng (cho cả những người kỹ thuật và không chuyên về kỹ thuật) và trao quyền cho họ để tạo ra các kiểu trực quan hóa khác nhau bằng cách sử dụng dữ liệu của họ. Bạn có thể sử dụng các công cụ này và tạo hình ảnh trực quan đơn giản hoặc phức tạp bằng Tableau. Các hình dung chính của nó bao gồm:

  • Scatter plot
  • Line plot
  • Pie Chart 
  • Bar Chart 
  • Bullet Chart
  • Highlight Tables
  • Gantt Chart
  • Boxplot, etc

Các tính năng Bản đồ của Tableau cho phép bạn trực quan hóa dữ liệu của mình trên bản đồ địa lý. Nó rất hữu ích nếu dữ liệu của bạn cần được phân loại theo khu vực hoặc trên các quốc gia khác nhau để giúp bạn phân tích hiệu suất của từng khu vực.

3) Allows Data Filtering

Với sự trợ giúp của Tableau, bạn có thể lọc dữ liệu từ một nguồn duy nhất hoặc nhiều nguồn. Nhưng điều kiện duy nhất cần được thỏa mãn để lọc dữ liệu từ nhiều Nguồn dữ liệu là dữ liệu phải có cùng kích thước. Khi điều này được thỏa mãn, Tableau sẽ tự động cập nhật các thay đổi cần thiết cho tất cả các trang tính của bạn bằng cách sử dụng cùng Nguồn dữ liệu và cùng bộ lọc mà bạn đã đặt trước đó.

4) Dynamic and Real-time Dashboards

Bạn có thể tạo Trang tổng quan động và tương tác bằng Tableau. Việc xây dựng Báo cáo và Trang tổng quan được Tableau thực hiện rất đơn giản. Bạn có thể làm cho chúng nhiều thông tin hơn bằng cách thêm các biểu đồ và sơ đồ đầy màu sắc. Sử dụng các Trang tổng quan thời gian thực này, bạn có thể giám sát mọi thứ một cách sâu sắc tuyệt đối cho tổ chức của mình. Tableau cũng sở hữu một tính năng cho phép bạn chia sẻ Trang tổng quan và Báo cáo của mình với các nhân viên khác trong tổ chức.

5) Powerful Collaboration

Mỗi người có thể làm việc hiệu quả hơn rất nhiều nếu họ hiểu dữ liệu của mình và đưa ra các quyết định sáng suốt, điều quan trọng đối với sự thành công trong bất kỳ tổ chức nào. Tableau ban đầu được xây dựng để cho phép sự hợp tác giữa các nhân viên. Sử dụng Tableau, tất cả các thành viên trong nhóm có thể chia sẻ công việc của họ, thực hiện các truy vấn tiếp theo với các đồng nghiệp và chia sẻ hình ảnh với bất kỳ nhân viên nào trong tổ chức, cho phép họ dễ dàng có được những thông tin chi tiết có giá trị.

Tableau cung cấp cho người dùng khả năng làm việc và hiểu dữ liệu họ cần từ việc chỉnh sửa web và tạo ra các đề xuất Nguồn dữ liệu. Bạn có thể dễ dàng xuất bản Trang tổng quan của mình lên Máy chủ Tableau hoặc Tableau Online trong vòng vài giây và kết quả là mọi người trong tổ chức của bạn có thể xem thông tin chi tiết của bạn, đặt nhiều câu hỏi và đưa ra quyết định đúng đắn.

Python là gì?

Python là một ngôn ngữ lập trình đa năng dành cho mục đích chung . Đường cong học tập nhỏ cùng với sự mạnh mẽ của nó đã khiến nó trở thành một trong những Ngôn ngữ Lập trình phổ biến nhất hiện nay. Đây là sự lựa chọn hàng đầu của các nhà phát triển cho Phát triển Trang web và Phần mềm, Tự động hóa, Phân tích Dữ liệu, Trực quan hóa Dữ liệu, v.v. Hơn nữa, cú pháp đơn giản của nó cho phép Kế toán, Nhà khoa học sử dụng nó cho các công việc hàng ngày. Ngôn ngữ lập trình Python đóng vai trò là công cụ quan trọng không thể thiếu trong lĩnh vực Khoa học dữ liệu để thực hiện các phép tính thống kê phức tạp, tạo thuật toán học máy, v.v. 

Ngôn ngữ lập trình Python cũng nổi tiếng với khả năng tạo ra nhiều loại Hình ảnh trực quan dữ liệu như Biểu đồ thanh, Biểu đồ cột, Biểu đồ hình tròn và Biểu đồ 3D. Hơn nữa, nó cung cấp một bộ thư viện phong phú hỗ trợ các chương trình Máy học nâng cao một cách nhanh hơn và đơn giản hơn. 

Các tính năng chính của Python

Các tính năng sau là nguyên nhân cho sự phổ biến của Ngôn ngữ lập trình Python ngày nay:

  • Thân thiện với người mới bắt đầu : Ngôn ngữ lập trình Python cung cấp một môi trường không rắc rối cho các nhà phát triển. Quy trình làm việc đơn giản của nó phù hợp với tất cả mọi người và các lập trình viên cấp thấp sẽ bị cuốn hút vào nó. Hơn nữa, bạn có thể sử dụng và phân phối các mã nguồn mở của nó cho các mục đích thương mại miễn phí.
  • Ứng dụng mạnh mẽ : Cú pháp đơn giản của nó hoạt động trên ngôn ngữ tự nhiên mà con người có thể đọc được, khiến nó trở thành lựa chọn hàng đầu của các dự án trên Ngôn ngữ lập trình Python, nhanh hơn so với các Ngôn ngữ lập trình khác. Hơn nữa, tính chất linh hoạt của nó khiến nó trở thành lựa chọn lý tưởng cho các dự án Phát triển Web và Học máy.
  • Cộng đồng lớn : Do sự phổ biến rộng rãi của Python, một cộng đồng lập trình viên tích cực khổng lồ có sẵn trực tuyến đóng góp vào các mô-đun và thư viện của ngôn ngữ này. Hơn nữa, cộng đồng hỗ trợ rộng lớn này sẵn sàng trợ giúp trong trường hợp bạn hoặc bất kỳ lập trình viên nào khác gặp khó khăn trong vấn đề lập trình. Bạn có thể dễ dàng nhận được đề xuất và giải pháp bằng cách đăng vấn đề của mình trên các trang cộng đồng này.

Thêm tập lệnh Python trong Tableau: Python & TabPy

Để kết hợp các tập lệnh Python vào quy trình của bạn, trước tiên bạn phải thiết lập kết nối giữa Tableau và máy chủ TabPy. Sau đó, bằng cách sử dụng khung dữ liệu gấu trúc, bạn có thể sử dụng các tập lệnh Python để áp dụng các chức năng được hỗ trợ cho dữ liệu từ luồng của bạn.A

1) Định cấu hình máy chủ Tableau Python (TabPy) cho Máy chủ Tableau

Để xuất bản, tạo, chỉnh sửa và chạy các luồng với các bước tập lệnh trong Máy chủ Tableau, bạn sẽ cần kết nối máy chủ TabPy của mình với Máy chủ Tableau.

  • Bước 1: Điều hướng đến dòng lệnh TSM / shell.
  • Bước 2: Để đặt địa chỉ máy chủ, giá trị cổng và thời gian chờ kết nối, bạn có thể sử dụng các lệnh sau:
  • tsm security maestro-tabpy-ssl enable --connection-type {maestro-tabpy-secure/maestro-tabpy} --tabpy-host <TabPy IP address or host name> --tabpy-port <TabPy port> --tabpy-username <TabPy username> --tabpy-password <TabPy password> --tabpy-connect-timeout-ms <TabPy connect timeout>
    • Chọn  {maestro-tabpy-secure}  cho kết nối an toàn hoặc  {maestro-tabpy}  cho kết nối không an toàn.
    • Nếu bạn chọn  {maestro-tabpy-secure} , hãy chỉ định tệp chứng chỉ trong dòng lệnh với  -cf <đường dẫn tệp chứng chỉ> .
    • Đặt  –tabpy-connect-timeout-ms <TabPy connect timeout> tính  bằng mili giây. Ví dụ  –tabpy-connect-timeout-ms 800000 .
  • Bước 3: Nhập lệnh tsm security maestro-tabpy-ssl vô hiệu hóa để tắt kết nối TabPy.

2) Tạo tập lệnh Python của bạn

Khi viết script của bạn, hãy bao gồm một hàm lấy pandas, pd.DataFrame làm đối số. Thao tác này sẽ lấy dữ liệu từ Tableau Prep Builder. Bạn cũng phải trả về kết quả ở dạng pandas, pd.DataFrame với các kiểu dữ liệu được hỗ trợ.

Ví dụ: để thêm mã hóa vào một tập hợp các trường trong một luồng, bạn có thể viết tập lệnh sau:

def encode(input):     
  le = preprocessing.LabelEncoder()
  Return pd.DataFrame({
    'Opportunity Number' : input['Opportunity Number'],
    'Supplies Subgroup Encoded' : le.fit_transform(input['Supplies Subgroup']),
    'Region Encoded' : le.fit_transform(input['Region']),
    'Route To Market Encoded' : le.fit_transform(input['Route To Market']),
    'Opportunity Result Encoded' : le.fit_transform(input['Opportunity Result']),
    'Competitor Type Encoded' : le.fit_transform(input['Competitor Type']),
    'Supplies Group Encoded' : le.fit_transform(input['Supplies Group']),
})

Lưu ý : Date và DateTime phải luôn được trả về dưới dạng một chuỗi hợp lệ.

Nếu bạn muốn trả về một tập hợp trường khác với những gì bạn đã nhập, bạn phải bao gồm một hàm get_output_schema trong tập lệnh của mình để xác định đầu ra và kiểu dữ liệu. Nếu không, các trường từ dữ liệu đầu vào sẽ được sử dụng trong đầu ra, được thực hiện từ bước trước bước tập lệnh trong quy trình.

Hàm get_output_schema đã được thêm vào tập lệnh python mã hóa trường trong ví dụ sau:

def get_output_schema():       
  return pd.DataFrame({
    'Opportunity Number' : prep_int(),
    'Supplies Subgroup Encoded' : prep_int(),
    'Region Encoded' : prep_int(),
    'Route To Market Encoded' : prep_int (),
    'Opportunity Result Encoded' : prep_int (),
    'Competitor Type Encoded' : prep_int()
    'Supplies Group Encoded' : prep_int()
})

3) Kết nối với máy chủ Tableau Python (TabPy) của bạn

Các bước cần thực hiện để kết nối Tableau với TabPy Server như sau:

  • Nhấp vào tùy chọn ” Trợ giúp “. Sau đó, chọn tùy chọn “ Cài đặt và Hiệu suất ”. Bây giờ, hãy chọn tùy chọn “ Quản lý kết nối tiện ích mở rộng Analytics ”.
  • Chọn “ Máy chủ Tableau Python (TabPy) ” từ danh sách thả xuống “ Chọn một tiện ích mở rộng Analytics ”.
Tableau Automation: Phần mở rộng Analytics
  • Nhập thông tin đăng nhập sau:
    • Cổng mặc định cho TabPy là 9004.
    • Nhập tên người dùng và mật khẩu nếu máy chủ yêu cầu chúng.
    • Chọn hộp kiểm Yêu cầu SSL, sau đó nhấp vào tệp cấu hình tùy chỉnh. Liên kết để chỉ định chứng chỉ cho kết nối nếu máy chủ sử dụng mã hóa SSL.

4) Thêm tập lệnh vào quy trình của bạn

Khởi động máy chủ TabPy của bạn, sau đó hoàn thành các bước sau:

  • Bước 1: Mở Tableau Prep Builder. Bây giờ, hãy nhấp vào nút “ Thêm kết nối ”  .
  • Bước 2: Trong tác giả web, từ  Trang chủ  , nhấp vào tùy chọn “ Tạo ”. Sau đó chọn tùy chọn “ Dòng chảy ”. Hoặc, từ  trang Khám phá  , hãy nhấp vào tùy chọn “ Mới ”. Sau đó, chọn tùy chọn ” Luồng “. Sau đó nhấp vào tùy chọn “ Kết nối với dữ liệu ”.
  • Bước 3: Chọn loại tệp hoặc máy chủ lưu trữ dữ liệu của bạn từ danh sách các trình kết nối. Nhập thông tin cần thiết để đăng nhập và truy cập dữ liệu của bạn nếu được nhắc.
  • Bước 4: Chọn “ Thêm tập lệnh ” từ menu ngữ cảnh sau khi nhấp vào biểu tượng dấu cộng .
  • Bước 5: Chọn “ Máy chủ Tableau Python (TabPy) ” trong phần Loại kết nối của ngăn Tập lệnh.
  • Bước 6: Để chọn tệp kịch bản của bạn, hãy nhấp vào tùy chọn “ Duyệt qua ” trong phần Tên tệp .
  • Bước 7: Để chạy tập lệnh của bạn, hãy nhập “ Tên chức năng ” và nhấn phím Enter.

Tự động hóa phân tích trong Tableau: Python & Tabcmd

Để tự động hóa Analytics trong Tableau, các bước cần thực hiện như sau.

1) Xác thực

> đăng nhập tabcmd -s http://172.16.22.2/ -t my_website -u abcxyz@gmail.com -p 123

Mỗi tham số thông tin xác thực được truyền dưới dạng cờ cho trình bao.

Đầu ra sẽ giống như được đưa ra bên dưới:

===== chuyển hướng đến http://172.16.22.2/auth 
===== Đăng xuất 
===== Tạo phiên mới 
===== Máy chủ: http://172.16.22.2/ 
==== = Tên người dùng: abcxyz@gmail.com 
===== Trang web: my_website 
===== Đang kết nối với máy chủ ... 
===== Đăng nhập ... 
===== Thành công

Lưu ý: Trong trường hợp xác thực không thành công trong cả hai tuyến, bạn có thể tham khảo ý kiến ​​của quản trị viên Máy chủ Tableau về đặc quyền người dùng / ủy quyền người dùng của bạn.

2) Tìm nạp & Tải xuống Sổ làm việc

Lưu ý: Sổ làm việc ‘ Superstore ‘ có sẵn dưới dạng mẫu trong tất cả các bản phân phối của Tableau. Nó sẽ là sổ làm việc mặc định trong các minh họa đoạn mã sau.

Bạn có thể tìm và tải xuống sổ làm việc dưới dạng  .twbx tệp bằng cách sử dụng mã sau trong tabcmd.

tabcmd get “/workbooks/Superstore.twbx”

3) Áp dụng Bộ lọc cho Chế độ xem & Tải xuống dưới dạng tệp

Trong sổ làm việc, bạn có thể truy vấn một dạng xem cụ thể và áp dụng bộ lọc cho nó.

Trong quá trình này, bạn thực hiện một yêu cầu xem với các bộ lọc dưới dạng tham số. API xử lý yêu cầu đối với chế độ xem và trả về một ảnh chụp nhanh cho ứng dụng khách yêu cầu.

Trước khi Bộ lọc (với tất cả các vùng) :

Tableau Automation: Before Filter

Sau khi Lọc  cho (Vùng = Tây):

Tableau Automation: Sau khi lọc

Lệnh xuất chấp nhận URL của chế độ xem được chỉ định cũng như các tham số tải xuống tùy chọn.

tabcmd export -t my_site "Superstore / Overview? refresh = yes & Region = West" --pdf --pagesize a4 --pagelayout ngang -f "Overview.pdf"

Chế độ xem cũng có thể được xuất dưới dạng PNG hoặc CSV.

URL trên trình duyệt sẽ dành cho lệnh tương tự như dưới đây:

http://172.16.22.2/#/site/my_website/views/Superstore/Overview?Region=West

4) Nguồn dữ liệu & kết nối

Đối tượng nguồn dữ liệu, như sổ làm việc hoặc các đối tượng dạng xem, có thể được lọc hoặc phân trang.

tabcmd refreshextracts --datasource sales_ds

Chúng tôi chuyên cung cấp những khoá học về Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!

    LIÊN HỆ VỚI CHÚNG TÔI ĐỂ NHẬN ĐƯỢC TƯ VẤN MIỄN PHÍ
    Xin vui lòng điền vào form dưới đây. Chúng tôi sẽ liên hệ lại ngay cho bạn khi nhận được thông tin:






    16:58

    Leave a Reply

    Your email address will not be published. Required fields are marked *