全部产品
云市场

数据开发之报表分析

更新时间:2019-10-28 17:10:10

本文主要介绍基于数据开发如何快速实现常见的报表分析诉求。

背景介绍

一家逐步成长的企业,肯定离不开报表的需求,常见的报表场景有:

  • 向老板汇报业务的运营状况、业绩
  • 数据分析师按不同维度分析业务场景,挖掘业务的增长点
  • 业务系统统计业务的汇总情况,如电商系统统计每日营收额,物流系统统计每日运单量等。

目前,经过多年的“大数据”洗脑,以上的需求往往被分发到大数据平台上做处理。但是如今,利用DMS中的数据开发一样可以完成。

使用DMS中的数据开发做报表开发有如下优势:

  • 线上线下统一管理。即业务库和分析库都在DMS中管理,不用另外跳转到大数据平台。
  • 灵活切换分析引擎。根据业务的数据规模的不同,可以自由选择DMS支持的数据库(详见实例管理)作为分析库,从小规模GB级的RDS到大规模PB级的ADB足以满足大部分场景的分析。
  • 权限统一、数据安全。

操作步骤

下面将会分三步举例,介绍如何做简单的报表分析:

  • 同步业务库的表到分析库
  • 在分析库做统计分析
  • 同步结果汇总表到业务库/BI库

将会使用到两种任务类型:

  • 单实例SQL
  • 跨实例SQL

前置步骤

  • 准备分析的业务库(这里采用TPCH的样例数据举例)
  • 通过“权限申请”模块,申请业务库的导出权限,分析库(这里采用RDS)的变更权限,字典信息需要查询权限
  • 创建任务流—— tpch_report

同步业务库的表到分析库

我们将使用“跨实例SQL”任务做同步这件事,更多文档可以参考这里

  • 创建“跨实例SQL”任务——table_sync(名字不重要)table_sync

  • 通过跨实例SQL拷贝数据同步

  • 设置业务所需的任务变量(这里是上图中的order_date)变量

  • 可以通过“SQL预览”,查看替换变量后的SQL逻辑是否正确预览

在分析库做统计分析

分析内容:

  1. 统计每日订单的下单客户数、订单数、订单总额。
  2. 联合lineitem表,统计每日订单的配件数、优惠总额、税总额。

    统计每日订单的下单客户数、订单数、订单总额

  • 创建“单实例SQL”任务——daily_ordersdaily_orders

  • 选择分析库,创建统计表daily_orders_summary以及统计逻辑SQLdaily_orders统计逻辑

  • 编辑好变量,保存即可

    联合lineitem表,统计每日订单的配件数、优惠总额、税总额

  • 在同步任务中加入lineitem表的同步,参考上面“同步业务库的表到分析库”即可。
  • 参考daily_orders任务,完成相关统计逻辑

同步结果汇总表到业务库/BI库

使用“跨实例SQL”任务,过程如同“同步业务库的表到分析库”。

设置DAG图中的任务关系

DAG

设置调度配置

  • 在DAG图 空白处 点击,右侧属性会切换到任务流的属性面板
  • 选择“调度配置”
  • 开启调度——开调度时间

运行实例

  • 可以通过“试运行”运行任务,查看是否满足逻辑。
  • 通过“运行管理”,可以看到每次运行的实际情况。