如何正确提出数据需求

这篇具有很好参考价值的文章主要介绍了如何正确提出数据需求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当下,数据在业务中扮演着越来越重要的角色,没有数据不知道业务进展如何,没有数据不知道如何决策,企业将数据视为风向标,也将数据视为源动力。

在企业内部数据的流动环节,最为频繁的就是不同角色表达对数据的需求。

本文将分享一个数据需求表达的范式,通过这个范式将自己的数据需求或者协助数据需求者明确、精准、快速地表达自己的想法。

01

对范式的思考

如果功能性产品,我一般会按照业务模型、业务逻辑、用户交互三个层面思考,如何理解业务方的产品诉求,也会用它来在检视自己的产品需求是否完善、逻辑是否无暇。

这三层思考正是映射到软件开发领域的经典 MVC 框架,从需求层面到执行开发层面能够找到一一对应的参照,这在软件工程中特别重要,极大减少了沟通成本和设计成本。

由此引发,对于数据需求,我想到我们在执行数据需求时,不论数据开发还是数据分析师,抑或是自己,都会用 SQL 去操作,这让我不可避免地想到能不能用 SQL 的语法结构来做为数据需求表达范式。

事实是可以的。

02

 SQL 表达的剖析

无论一个数据需要多么复杂,关联多少张表,做多少运算,只要库表是齐备的,理论上都可以得到我们想要的数据。你看,在 SQL 数据查询中往往是这样的一个结构:

SELECT a,

       b,

       c,

       count(a) AS i,

       count(DISTINCT b) AS h,

       max(c) AS t

FROM tab

WHERE day > 20211101

  AND b = 'x'

GROUP BY a,

         b,

         c

这里边有三个关键的子句需要我们关注:

  • WHERE/FROM
  • GROUP BY
  • SELECT

显然,FROM  和 WHERE 确定了我们要查询的数据范围,GROUP BY 给出了我们对数据的分组依据,SELECT 最终产出想要的数据。

在 SQL 的语法结构中,已经非常清晰地告诉我们数据的逻辑,我们要做的就是参照它,准确地表达我们的数据诉求。

03

SQL 的启示

在对 SQL 结构的分析后,我们可以得到这样的一个需求表达范式三要素,这个范式能保证我们正确地表达数据需求和顺畅地沟通数据需求。这三个要素是:

1) 统计范围

这部分对应 WHERE 和 FROM,需要知道需求中所涉及的统计领域以及限定条件。

如你要统计商品的数据,需要确定是所有商品还是当前在上架状态的商品;统计用户的信息,是否只包含付费用户;统计流量数据是否只包含手机端的流量等等。

时间的范围是必须的,即使是统计所有历史数据也需要明确出来。当然时间也可以是动态的,如最近 7 天,近一个月等,这和数据的操作执行时间有关。

数据的统计范围的确定有助了我们将问题限制在一定的界限内,减少了对数据范围认知不一致而导致的沟通障碍。

2) 统计维度

统计维度就是 SQL 中 GROUP BY 的部分,利用 GROUP BY 对明细数据进行分组,数据分析时以这些分组的视角对数据表现进行评估。所有的数据无论是单一的分组还是多重分组,都会有相应的维度表示。

在一个时间范围内,维度可以按照年、月、周、日、时、分等粒度划分难度,前提是有相应更小粒度的细节数据。

统计学意义上的分类数据、离散数据都可以做为维度,如针对性别,可以按男、女维度来分析数据。连续数据通过分箱等手段也可以进行维度划分。

维度的确定,明晰了数据分析的角度,对分析结果至关重要。当然,多维分析也是一种数据搜索的常用手段,在需求确认时,需要明确是否需要多维分析以及有哪些维度组合。

3) 统计指标

统计指标是 SQL 的 SELECT 数据输出部分,就是最终看到的数据形式。一般情况下所有维度会输出并作为指标的指示。

指标即口径,也就是针对前述维度的计算方法,维度一般会参与计算,但有时也不参与计算。计算方法一般会是计数、去重计数、求极值、平均数、标准差等聚合运算。

统计指标是需求方最终看到的结果,从范围到维度,到最终的指标数据输出,指标的计算方法是最为重要的一个环节。

以上三个元素,能够比较准确地描述一个数据需求,让需求执行者明确地进行数据执行操作。

04

最终我们如何做

由于需求方一般不具备 SQL 技能,不能理解以上相关概念,但我们确实需要这些信息,可以平时做一些引导和培训,让其按这种范式提出需求。如果无法抽象理解这些概念,可引导需求方画出数据样例,并对所有列一一指明逻辑。

另外,一些其他信息或者对我们也有帮助:

  • 需求方的身份背景:帮助我们判断需求提出者的动机及分析思路;
  • 需求背景:了解提出此数据需求的业务背景;
  • 需求的频率:如果是周期性数据可以考虑产品化;
  • 需求的期望完成时间:方便对需求进行排期,确定优先级。

(完)文章来源地址https://www.toymoban.com/news/detail-579831.html

到了这里,关于如何正确提出数据需求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用springboot实现查询更改数据库需求

    使用springboot实现简单的数据库数据交互请求 实现:通过springboot框架,实现接口 /user/view; 查询数据库user表中的user数据, /user/insert; 新增user数据到user表 /user/update 修改user的对应user信息 集成规范数据响应: 功能实现: 定义简单的user类并添加对应的user表,用于数据交互 创建数据访问

    2024年02月16日
    浏览(38)
  • 【虹科干货】逻辑数据库可能已经无法满足需求了!

    不可否认,单个Redis实例已经不能满足实际生产中的需求了。为了解决由此带来的问题,何不试试用专用实例代替逻辑数据库呢? 一、逻辑数据库可能已经无法满足需求的4个迹象 1.您有个“吵闹的邻居” PS:“吵闹的邻居”指同一个Redis OSS实例中其它繁忙的逻辑数据库。

    2024年02月07日
    浏览(52)
  • mysql数据库自动生成默认时间不正确进行校正

    引言 查看数据库数据,发现表中自动生成的创建时间不正确,故先使用 SELECT CURRENT_TIMESTAMP; sql验证自动生成的时间是否是不正确的。经验证确定是自动生成的时间不正确,进而想到了对时间进行校正。 校正过程 首先查看数据库时间的时区是否是当地的。 SELECT @@global.time_zo

    2024年02月20日
    浏览(45)
  • 数据库 SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 解决方法

    目录 一、错误提示信息:  二、原因分析: 三、解决方法: 四、执行完成结果: 五、重要说明 本文验证是数据库中的baiduAi_0258表无法通过select语句ID条件查询, 如执行 select * from baiduAi_0258 where ID =\\\'0000403e-7903-413b-87ab-3c14d0295482\\\'  提示以下错误信息。 消息 824,级别 24,状态

    2024年02月16日
    浏览(52)
  • .net8+webapi+sqlsugar基本配置;“连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确”异常

    1、引入sqlsugar的nugat包 2、封装一个操作类(参考sqlsugar官方文档) 3、配置program.cs和appsettings program.cs加上下面代码  appsettings配置连接字符串 4、新建一个控制台生成实体类 5、添加测试的controller 6、swagger调试抛异常 7、修改csproj文件中,仅适用.net 8(参考sqlsugar官方文档)  8、

    2024年03月15日
    浏览(65)
  • 完美解决:访问WordPress时候出现 建立数据库连接时出错您看到此页面,则表示您在 wp-config.php 文件中定义的用户名和密码信息不正确,或是我们无法与 数据库服务器 localhost

    目录 一、问题: 二、原因: 三、解决方法: 您看到此页面,则表示您在  wp-config.php  文件中定义的用户名和密码信息不正确,或是我们无法与 数据库服务器  localhost  进行通信。也可能是您主机的数据库服务器未在运行。 您确定用户名和密码正确吗? 您确定输入的主机

    2024年01月17日
    浏览(71)
  • 《向量数据库指南》:向量数据库Pinecone如何集成数据湖

    目录 为什么选择Databricks? 为什么选择Pinecone? 设置Spark集群 环境设置 将数据集加载到分区中 创建将文本转换为嵌入的函数 将UDF应用于数据 更新嵌入 摘要 使用Databricks和Pinecone在规模上创建和索引向量嵌入

    2024年02月15日
    浏览(37)
  • 数据库如何删除数据

    1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。 drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。 2、truncate

    2023年04月19日
    浏览(31)
  • ​ 金仓数据库KingbaseES数据库如何启停和重启

    数据库、启动数据库、停止数据库、重启数据库 在访问数据库之前,必须启动数据库服务器。可通过命令: ps -ef|grep kingbase 查看数据库服务器当前是否处于启动状态。如下图所示,kingbase进程存在且为正常开启状态,否则数据库服务器未启动。蓝色标注为主进程。 通过king

    2024年02月05日
    浏览(52)
  • 德迅云安全数据库审计——如何保障企业数据库安全

    在当今快速发展的数字环境中,以人工智能 (AI) 的兴起和云计算的无处不在为标志,数据库安全的重要性从未如此突出。随着数据库日益成为人工智能算法和基于云的服务的支柱,它们积累了大量的敏感信息,使其成为网络攻击的主要目标。这些技术的融合不仅放大了潜在

    2024年04月26日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包