Dataphin的代码自动化能力如何助力商业决策
前言
随着大数据趋势的迅速增长,数据的重要性与日俱增,企业内看数据、用数据的诉求越来越强烈,其中最常见的就是各种经营报表数据:
老板每日早晨9点准时需要看到企业核心的经营数据,以便进行企业战略及方向决策
业务负责人不定期进行个性化的项目筹划,需要多维、及时的效果数据以优化项目安排
小二精准营销活动开展,需要和高层一致但粒度不同的经营分析数据,并进行活动策略调整
……
举个经营报表的例子如下:

这个例子并不复杂,但是对于分析师或者业务开发者,实际执行的复杂度和工作量并不小,而且类似的工作每日都在重复……业务发展越快,带来的问题就越来越多:
- 加工时间长、人工成本高,招再多的分析师也难以满足需求;
- 代码可读性差,数据可维护性差,类似需求需要反复、重复开发;
- 代码开发不规范,加工过程中难以避免的计算存储浪费;
- 得到的数据指标,复用性差导致重复建设,数据越来越不标准规范;
- 这种情况下对业务的直接影响就是:决策周期长(数据需求满足慢),决策易出错(数据指标口径不一致)
Dataphin:让“指标计算器”代替“代码编辑器”
既要保证数据生产时效性——及时产出数据并满足需求,又要支持数据多样性——企业自下而上不同业务分析场景,最后还要保证数据准确性——任何时间、不同岗位的人都能用同样的数据解读经营情况,怎么才能做到呢?
企业的发展加速,离不开20世纪的文档管理转到21世纪的信息管理。同样的,如果繁复的指标代码编写工作,也可以如计算器一般,界面可视化点选,复杂的代码研发过程由计算器自行处理完成,就好了。
而Dataphin基于One Data - One Model能力,就可以充分实现这个能力!
Step 1 选择组合条件
如下图,确定需要统计计算的值,Dataphin里称为“原子指标”——最小的数据值统计单元,比如用户数这样的统计值等,然后组合如下内容:
A. 统计计算值需要应用的分析对象,Dataphin里称为“统计粒度”——维度或维度的组合,比如用户星级、用户状态等;
B. 数据统计计算的时间周期,Dataphin里称为“统计周期”——统计数据需要跨越的时间长度,比如最近1天、最近30天、自然周、自然月的等;
C. 数据统计的其他个性化限定条件,Dataphin里称为“业务限定”——数据记录的筛选过滤条件,比如生鲜业务类型、PC端、女性等。


Step 2 预览指标
选择完毕组合条件后,可以预览组合出来的派生指标:
1)组合的指标,默认名取“原子指标+时间周期+业务限定”组合名,保证命名标准规范。
2)历史已生成的组合,不再生成,保证指标建设统一,无重复

Step 3 一键自动化生成!
确认需要提交的指标后,一键【提交】,分钟级指标生成:
1)自动汇聚至以“统计粒度为主题”的汇总逻辑表表下,保证管理标准规范;
2)代码和调度依赖关系,系统自动生成;
3)派生指标基于汇总逻辑表,可快速雪花模型查询使用指标、分析对象的属性信息。
①派生指标自动汇聚至汇总逻辑表

②派生指标所在汇总表节点,代码及调度关系自动生成

③汇总表及派生指标可查询消费

Step 4 复杂需求实现
上面主要是基于简单统计指标实现,实际上,报表需求还有类似 比率型、乘积型等复合统计方式,比如“客单价=销售额/客户数”,这类也可以通过Dataphin的衍生原子指标实现:
1)衍生原子指标是基于原子指标的再组合;
2)基于衍生原子指标新建派生指标时,需要保证拆解到最细粒度的原子指标,有相同的分析维度、时间周期,允许维度的计算路径不同、设置的业务限定不同。
①新建衍生原子指标

②基于衍生原子指标新建派生指标

Dataphin:“指标计算器”背后的故事
上面步骤可以看到,派生指标的计算生成,离不开原子指标、业务限定、统计粒度的协助,这其中有什么奥秘呢?
其实很简单,用Dataphin高效创建派生指标,掌握这1张图就够了:
1)原子指标为核心,原子指标的来源表为中心
2)统计粒度取自来源表的关联维度,以及关联维度上的关联维度
3)业务限定基于来源表为中心的雪花模型做定义
4)统计周期可任意搭配使用

总结:One Model,One Dream
Dataphin作为阿里巴巴数据中台原创产品,从设计之初就决心为业务价值而生!
其中的智能研发版以One Data - One Model的方法论为指导,致力于统一的数据构建与管理:
指标【标准化】,保证数据研发的【一致性与效率】
【拖拽式】数据模型设计+【自动化代码】开发=高效的【数据研发生产力】
从而帮助企业充分发挥数据价值、实现业务价值:
100%消除二义性:根据【选择条件】组合,【批量生成】统计指标
分钟级自动化代码生成:【可视化设计】编辑逻辑表星型模型/雪花模型,【设计提交】自动化生成代码(设计即开发)

希望不远的未来,每个企业都可以基于Dataphin做出最高效、最全面、最正确的决定!
结语
阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业!
阿里巴巴数据中台解决方案,核心产品:
Dataphin,以阿里巴巴大数据核心方法论OneData为内核驱动,提供一站式数据构建与管理能力;
Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力;
Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。
欢迎志同道合者一起成长!
本文作者:张骞
本文为云栖社区原创内容,未经允许不得转载。
Dataphin的代码自动化能力如何助力商业决策的更多相关文章
- 阿里大数据产品Dataphin上线公共云,将助力更多企业构建数据中台
日前,由阿里数据打造的智能数据构建与管理Dataphin,重磅上线阿里云-公共云,开启智能研发版本的公共云公测!在此之前,Dataphin以独立部署方式输出并服务线下客户,已助力多家大型客户高效自动化 ...
- 通过shell脚本实现代码自动化部署
通过shell脚本实现代码自动化部署 一.传统部署方式及优缺点 1.传统部署方式 (1)纯手工scp (2)纯手工登录git pull.svn update (3)纯手工xftp往上拉 (4)开发给打 ...
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...
- AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署
AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署 Amazon ElastiCache 连接至 Redis 节点 通过 AWS Command Line Inter ...
- jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...
- HMS Core在MWC2022展示最新开放能力,助力开发者构建精品应用
[2022年2月28日,巴塞罗那]世界移动通信大会MWC2022在巴塞罗那开幕.HMS Core设立了3个展台(Fira Gran Via,Hall 1),向全球开发者展示HMS Core 6的全新开 ...
- 转:完善eclipse+pdt作php开发中的代码提示能力
在eclipse开发中 ,可能由于各种原因导致项目文件(eclipse内置)丢失或错乱, 因而, 失去一些能力.. 以下是经过被痛苦折磨后查阅总结的一点东西 设置完下面内容, 支持以下特性 PHP: ...
- 【Unity】工具类系列教程—— 代码自动化生成!
转载自:https://zhuanlan.zhihu.com/p/30716595?utm_medium=social&utm_source=qq [为什么要做自动化工具] 工具类的创建是为了 ...
- Docker搭建Jenkins+Gogs+Maven/Gradle——代码自动化运维部署平台(三)
一.简介 1.CI/CD CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/C ...
随机推荐
- Nodejs - 交互式管理 Node.js 版本
n - npm:Interactively Manage Your Node.js Versions. Unfortunately n is not supported on Windows. npm ...
- CSS学习笔记1:字体样式属性
CSS初识 成叠样式表,主要用于设置html页面的外观 产生原因:为了解决混乱的结构和样式,使结构和样式相分离. CSS注释 /*这是CSS注释*/ CSS样式规则 1.选择器用于指定css样式作用的 ...
- Play with Chain 【HDU - 3487】【Splay+TLE讲解】
题目链接 很好的一道题,用了三天多的时间,终于知道了我为什么T的原因,也知道了在Splay的同时该怎样子的节约时间,因为Splay本身就是大常数的O(N*logN),我们如果不在各种细节上节约时间,很 ...
- Java基础复习(1)
1. Java 基本数据类型 参考博客: https://www.cnblogs.com/LiaHon/p/11043238.html Java语言提供了八种基本类型. 六种数字类型(四个整数型,两个 ...
- GB/T2659-2000《世界各国和地区名称代码》
代码 代码名称 004 阿富汗 008 阿尔巴尼亚 012 阿尔及利亚 016 美属萨摩亚 020 安道尔 024 安哥拉 660 安圭拉 010 南极洲 028 安提瓜和巴布达 032 阿根廷 05 ...
- MySql-第七篇单表查询
1.MySQL中可以使用+.-.*./. 1>但MySQL中没有提供字符串连接运算符,可以使用concat(a_str,'xxx')进行连接. 2>在算术表达式中使用null,将会导致整个 ...
- Manacher(最长镜面回文串)
I - O'My! Gym - 101350I Note: this is a harder version of Mirrored string I. The gorillas have recen ...
- Pandas的基础使用
Pandas的数据结构 # 导入pandas与numpy import pandas as pd from pandas import Series, DataFrame import numpy a ...
- Educational Codeforces Round 69 (Rated for Div. 2) A~D Sloution
A. DIY Wooden Ladder 题意:有一些不能切的木板,每个都有一个长度,要做一个梯子,求梯子的最大台阶数 做梯子的木板分为两种,两边的两条木板和中间的若干条台阶木板 台阶数为 $k$ 的 ...
- jar包/class文件如何快速反编译成java文件
有时编写的java代码打包为可执行jar包后需要查看工程结构是否是且只有我们需要的包,故需要查看jar包层级. 1.windows系统可以直接在网上下载jd-gui.exe包,然后傻瓜安装: 2.Ma ...