Báo cáo định kỳ về các chỉ số kinh doanh quan trọng là nhiệm vụ cốt lõi của nhiều nhà phân tích. Thực hiện điều này một cách nhất quán và không mắc lỗi mang lại giá trị to lớn cho tổ chức nhằm hỗ trợ ra quyết định, nhưng cái giá phải trả là gì? Quá thường xuyên, bạn phải thực hiện hàng loạt bước thủ công để thu thập dữ liệu, xây dựng báo cáo với các chỉ số hiệu suất chính và chia sẻ cho các bên liên quan. Quy trình này vừa tốn thời gian vừa dễ xảy ra sai sót.
May mắn thay, có một cách tốt hơn: bạn có thể tận dụng khả năng lập lịch của DataCamp Workspace để tự động báo cáo các chỉ số kinh doanh với các biểu đồ trực quan, giúp tiết kiệm thời gian và giảm thiểu khả năng phát sinh lỗi trong quá trình báo cáo.
Trong bài viết này, chúng tôi sẽ trình bày quy trình bằng cách chạy một báo cáo về dữ liệu thị trường chứng khoán (vì gần như mỗi ngày đều có dữ liệu mới) theo lịch lặp lại để sổ tay luôn phản ánh các diễn biến mới nhất trên thị trường.
Bạn thích xem bài viết này ở định dạng video hơn? DataCamp đã tổ chức một buổi code along cùng chủ đề, thiết lập báo cáo tự động cho dữ liệu doanh số xe đạp được lưu trong cơ sở dữ liệu Microsoft SQL Server. Bạn có thể xem lại buổi code along bằng cách truy cập liên kết này.
Xây dựng báo cáo
Đầu tiên, chúng ta cần tạo một dự án dữ liệu mới trong Workspace (gọi là workspace) để thực hiện các thao tác mà chúng ta muốn tự động hóa ở bước tiếp theo. Trong phạm vi hướng dẫn này, chúng ta sẽ làm việc với dữ liệu thị trường chứng khoán, vì dữ liệu này công khai và được cập nhật thường xuyên. Nhờ vậy, báo cáo của chúng ta sẽ thay đổi theo thời gian.
Thuận tiện nhất là tạo một bản sao từ workspace đã có sẵn toàn bộ mã. Nếu bạn muốn tự đi qua từng bước, hãy tạo một workspace mới từ đầu và thêm một ô mã Python để nhập dữ liệu thị trường chứng khoán và trực quan hóa dữ liệu đó:
import pandas as pd
import plotly.express as px
import yfinance as yf
# Define how many stock I own of each ticker
holdings = {
'AAPL': 16,
'TSLA': 15,
'TEAM': 7,
}
# Get the data
tickers = list(holdings.keys())
data = yf.download(tickers, start="2023-01-01")
# Wrangle the data
adj_close = data['Adj Close'].reset_index()
adj_close_long = pd.melt(
adj_close,
id_vars='Date',
value_vars=tickers,
var_name='ticker',
value_name='adj_close'
)
adj_close_long['total_value'] = adj_close_long['adj_close'] * adj_close_long['ticker'].map(holdings)
adj_close_long
# Show the position values for stocks in my portfolio
fig = px.line(
adj_close_long, x='Date', y='total_value', color='ticker'
)
fig.update_layout(
title="Position values for for stocks in my portfolio",
yaxis_title="Position Value",
xaxis_title="Date"
)
fig.show()
Giải thích chi tiết về đoạn mã này nằm ngoài phạm vi của bài viết; mục tiêu của chúng ta chỉ là chạy được một ít mã Python để có thể lập lịch ở bước tiếp theo! Bạn có thể kiểm tra mã trong sổ tay workspace chạy ổn bằng cách bấm nút “Run” ở phía trên. Bạn sẽ thấy một biểu đồ Plotly đẹp mắt xuất hiện:

Tự động hóa báo cáo
Giờ chúng ta đã có một workspace với mã Python, hãy cấu hình để nó chạy theo lịch lặp lại! Vào menu “Run” và chọn “Schedule run”:

Trong hộp thoại, bạn có thể lên lịch chạy sổ tay bằng cách chọn tần suất hàng ngày hoặc hàng tuần và chỉ định thời điểm thực thi. Ngoài ra, bạn có thể chọn nhận thông báo qua email cho cả lần chạy thành công và không thành công.

Để dễ thử nghiệm, hãy đặt sổ tay của bạn chạy theo lịch hàng ngày, vào thời điểm chỉ sau vài phút nữa, để bạn có thể thấy tính năng lập lịch hoạt động!
Xem “phép màu” diễn ra
Nếu bạn đã cấu hình sổ tay chạy sau vài phút, hãy đợi một lát để lượt chạy theo lịch bắt đầu. Đúng thời điểm bạn đặt, bạn sẽ thấy thông báo “Running X cells on a schedule” xuất hiện bên dưới nút Run. Toàn bộ mã sẽ được thực thi lại từ đầu đến cuối, cập nhật đầu ra nếu có dữ liệu mới so với lần chạy trước.

Nếu bạn đã cấu hình workspace gửi email khi chạy thành công, bạn cũng sẽ nhận được một email trong hộp thư đến:

Vậy là xong! Sổ tay của bạn giờ sẽ chạy hàng ngày hoặc hàng tuần, tùy theo cách bạn cấu hình, nên khi bạn truy cập workspace, nó sẽ luôn có dữ liệu mới nhất. Trong ví dụ với dữ liệu thị trường chứng khoán này, điều đó có nghĩa là bạn luôn nắm được tổng giá trị danh mục cổ phiếu của mình.
Trong bối cảnh doanh nghiệp, bạn có thể sử dụng tính năng này kết hợp với một trong các đầu nối dữ liệu gốc của Workspace để kết nối với, ví dụ, một cơ sở dữ liệu PostgreSQL, một kho dữ liệu Snowflake hoặc một cụm Redshift để lấy dữ liệu mới nhất về công ty và xây dựng các báo cáo sâu sắc để chia sẻ với các bên liên quan.
Kể từ khi ra mắt, người dùng Workspace đã sử dụng tính năng này cho nhiều mục đích khác nhau, bao gồm:
- chạy các kiểm tra xác thực dữ liệu trong quá trình di chuyển để đảm bảo tính nhất quán dữ liệu giữa các nguồn khác nhau,
- thu thập dữ liệu từ các trang chính sách công được cập nhật thường xuyên để tạo bộ dữ liệu và theo dõi tính công bằng của các bổ nhiệm dân sự, và
- tự động thu thập dữ liệu và gửi email tổng hợp hàng tuần được cá nhân hóa cho người dùng ứng dụng SaaS bằng cách tích hợp với các giải pháp như Customer.io.
Sự linh hoạt của Python kết hợp với môi trường sổ tay được cấu hình sẵn của Workspace tạo thành một bộ đôi mạnh mẽ; chúng tôi rất háo hức xem bạn sẽ xây dựng được gì với tính năng mới này của Workspace!