跳至主要内容

安排数据笔记本以自动化商业指标报告

利用 DataCamp Workspace 的计划功能,自动生成包含深度可视化的商业指标报告
Filip Schouwenaars
Filip Schouwenaars

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

定期汇报关键业务指标是许多分析师的核心职责。持续且无误地完成这项工作对组织支持业务决策极具价值,但代价如何?在许多情况下,您需要经过一系列手动步骤来收集数据、构建包含关键绩效指标的报告,并将其分享给相关方。这样的流程既耗时又容易出错。

幸运的是,有更好的方式:您可以利用 DataCamp Workspace 的计划功能,自动生成带有深度可视化的业务指标报告,从而节省时间,并将报告流程中的错误概率降至最低。

在本文中,我们将通过对股市数据(因为几乎每天都有新数据)进行定期报告来展示这一流程,让笔记本始终反映市场中的最新动态。

更喜欢观看视频?DataCamp 举办过同一主题的代码实操,演示如何对存储在 Microsoft SQL Server 数据库中的自行车销售数据设置自动化报告。您可通过访问此链接回看。

构建报告

首先,我们需要在 Workspace 中创建一个新的数据项目(称为 workspace),实现我们希望在下一步自动化的操作。在本教程中,我们将使用股市数据,因为这些数据公开可用且定期更新。这样一来,我们的报告会随时间变化。

最方便的方式是从一个已包含全部代码的 workspace 创建副本。如果您想亲自完成每一步,请从零开始创建一个新 workspace,并添加一个 Python 代码单元以导入股市数据并进行可视化:

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()

对这段代码的详细讲解超出了本文范围;我们只是想先跑通一些 Python 代码,以便在下一步进行计划调度!您可以点击顶部的“Run”按钮,验证 workspace 笔记本中的代码是否运行正常。随后您应能看到一幅精美的 plotly 图表:

Workspace 示例 Python 代码的输出示例

实现自动化

现在我们已有包含部分 Python 代码的 workspace,接下来将其配置为按固定计划运行!前往“Run”菜单并选择“Schedule run”:

image2.png

在弹窗中,您可以通过选择按天或按周的频率并指定执行时间来安排笔记本运行。此外,您还可以选择在运行成功或失败时接收电子邮件通知。

image1.png

为便于试验,将您的笔记本设置为每日运行,时间设为几分钟之后,这样您就能直观地看到计划任务的效果!

见证魔法时刻

如果您将笔记本配置为在几分钟后运行,请稍等片刻等待计划任务启动。在您设定的时间,“Running X cells on a schedule”消息会出现在 Run 按钮下方。所有代码将自上而下再次执行,如果与上次运行相比有新数据,输出也会随之更新。

image5.png

如果您将 workspace 配置为在成功运行时向您发送电子邮件,也会在收件箱中收到一封邮件:

image4.png

就是这样!根据您的配置,笔记本现在会每天或每周运行一次,因此当您访问该 workspace 时,它始终包含最新数据。在这个股市数据的示例中,这意味着您始终了解自己股票投资组合的总价值。

在业务场景中,您可以将此功能与 Workspace 的原生数据连接器结合使用,例如连接到PostgreSQL 数据库、Snowflake 数据仓库或Redshift 集群,以获取公司最新数据并构建深度洞察的报告,与相关方共享。

自发布以来,Workspace 用户已将此功能用于多种用途,包括:

  • 在迁移过程中运行数据验证检查,以确保不同来源之间的数据一致性,
  • 从定期更新的公共政策页面抓取数据,以创建数据集并监测公民任命的公平性,
  • 通过与 Customer.io 等解决方案集成,实现数据收集自动化,并向 SaaS 应用用户发送个性化的每周电子邮件摘要。

Python 的灵活性与 Workspace 全面配置的笔记本环境相结合,形成了强大的组合;我们期待看到您用这一新功能打造的精彩成果!

主题