新闻资讯
洞察行业前沿,时刻保持探索精神,保持 HENGSHI SENSE 产品的优越性,
更多衡石精彩不容错过

免费试用

全部

精选案例

最新活动

衡石动态

衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤
作者:HENGSHI 时间:2024-12-25

导言


创业公司起步或凭技术 idea ,或靠大客户资源。但打造卓越商业化软件,需修炼产品定义、客户成功、市场宣传、销售服务、人才培养、组织建设等多方面。

历经8年,我们从简陋小办公室成长为专业激情团队,满载挑战与收获。我们将推出八周年系列文章,分享我们在产品、技术、市场、团队、人才等方面的故事与内幕,涵盖从摸索定义首个产品到技术架构复杂演进,从签约首客到多行业覆盖,从技术方案到产品化运作的历程。

故事中有面对挑战的突破、创新、希望与团队凝聚力,希望在 SaaS 行业面临重重挑战的当下,和更多团队一起去探索成功之路。



数据的过滤是数据分析中最重要的方法之一。通过有效的过滤,可以去除噪声数据、异常值和不相关的信息,从而提高分析结果的准确性和可靠性。数据过滤能够帮助分析师专注于关键数据点,发现潜在的趋势和模式,从而做出更明智的决策。


数据分析的过程可以分为几个关键节点:

 · 确定明细数据表;

 · 利用部分表格制作宽表;

 · 确定直接用于分析的数据表和宽表,并建立它们之间的关联模型;

 · 基于关联模型进行数据可视化展示。


数据过滤的需求可能出现在上述任何节点,这取决于分析的功能和性能需求。为了更好地描述数据过滤的发生过程,我们可以将上述节点倒序排列,例如下面图片描述的一个关于咖啡的简单分析场景,在这个场景中,我们可以描述数据过滤在每个阶段的作用。


衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤(图1)

01

可视化阶段

01

在可视化阶段,过滤掉不相关的数据可以帮助我们更清晰地识别关注对象的趋势和模式。过滤在可视化阶段的作用最为直观,结果呈现为所见即所得,这对分析师和数据使用者都非常方便。然而,它的缺点在于过滤位于最外层,下面的所有数据明细处理仍然基于全量数据,这对整体分析性能并不友好。如果我们能够解决性能问题,分析师就可以更加专注于业务需求。衡石提供的过滤器下推能力正是为了解决这一问题。


过滤器下推是指在不影响计算结果的基础上,将过滤器尽量推到底层计算,从而减少计算量,过滤被下推之后,原始的过滤条件会被删掉。目前,衡石对过滤器下推的策略如下:

1

多表联合计算

假设有两个表 t1 和 t2。

 ·  如果 t1 采用 left join t2,那么所有与 t1 中字段相关的过滤条件都会推到 t1 表上。

 ·  如果 t1 采用 right join t2,那么所有与 t2 中字段相关的过滤条件都会推到 t2 表上。

 ·  如果 t1 采用 inner join t2,那么与 t1 中字段相关的过滤条件会推到 t1 表上,同时与 t2 中字段相关的过滤条件也会推到 t2 表上。

2

多表合并计算

假设有两个表 t1 和 t2,过滤条件会同时被推到 t1 表和 t2 表上。

3

聚合计算

在聚合表上能够执行的过滤条件都会被推下来。


下图展示了咖啡分析场景中,订单日期的过滤器是如何被推到底层的。黄色填充的过滤条件是下推的中间过程,最终过滤条件落在了“coffee_2016年销量”和“coffee_2023年销量”上,相当于 “coffee_2016年销量”的数据不会参与到分析中。


衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤(图2)

02

数据建模阶段

02

在数据建模阶段,过滤掉异常值和噪声数据可以确保模型的准确性和可靠性。数据管理员需要在建模阶段添加过滤条件,以确保在使用数据模型时,所处理的数据始终带有这些过滤条件。这种做法不仅提高了模型的质量,还能有效减少后续分析中的干扰因素,从而使得分析结果更加可信。衡石在建模阶段提供了针对模型添加过滤的功能,并且这些过滤条件在条件允许的情况下,也会被下推到底层。


衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤(图3)

03

数据整合阶段

03

在数据整合阶段,过滤掉不必要的字段和记录可以简化数据结构,提高后续分析的效率。数据管理员可以方便地在创建多表联合、多表合并、聚合、行转列和列转行等类型的数据表时添加过滤条件。然而,数据管理员在添加过滤条件时,通常会关注新数据表是否受到底层数据集的过滤条件影响。以下是两个相关场景:

1

新数据表不受底层数据集的过滤条件影响:例如,用户以“coffee_2023年销量”表为基础,创建了一个聚合数据集,用于表示2023年各门店的总销量。管理员期望这个门店总销量不应随“coffee_2023年销量”表的任何过滤条件而变化。

2

新数据表需要受底层数据集的过滤条件影响:例如,当“coffee_2023年销量”和“coffee_2016年销量”上有过滤条件时,用户期望“coffee_销量”数据表能够随之变化。


衡石提供了“继承上游权限”的功能,方便数据管理员根据不同场景需求创建满足多种条件的数据表。开启了“继承上游权限”,新的数据表会受底层数据过滤的影响;不开启“继承上游权限”,新的数据表不会受底层数据过滤的影响。


衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤(图4)

04

确定明细数据表阶段

04

确定明细数据表时,初步过滤可以帮助我们聚焦于最相关的数据,确保后续步骤的有效性。除了数据管理员对明细数据表有初步过滤的需求外,分析员也会有类似的需求。在分析阶段,分析员在添加过滤条件时,有时希望这些过滤条件直接作用于最终结果,有时则希望它们作用于底层的数据。衡石的仪表盘过滤功能正好支持这两种需求,提供了灵活的过滤选项,以满足不同分析场景的需要。分析师在添加仪表盘过滤时,开启“外层过滤”,表示过滤发生在分析结果上;关闭“外层过滤”,表示过滤直接作用于底层数据集。


衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤(图5)

在数据分析的各个节点,衡石均提供了灵活的过滤功能,并在后台有效解决性能问题。数据管理员和分析师可以将这些功能组合成丰富多样的分析场景,以满足不同的业务需求。


以上为本次分享的全部内容,关注衡石,了解更多数据分析技能!


衡石科技八周年|赵俊丽:数据分析的关键方法之数据过滤(图6)

本文作者赵俊丽:2007年毕业于北京航空航天大学计算机科学与技术专业。曾就职于 IBM 担任研发工程师,参与 IBM 云计算项目研发和 Deveops 运维研发工作。2017年加入衡石,专注于后端服务开发,现任后端开发 Tech Lead


立即体验 HENGSHI SENSE
让商业分析触手可及

电话咨询:15810120570

公司邮箱:hi@hengshi.com

北京市海淀区西小口路66号中关村东升科技园B-2楼A301室

上海市黄浦区延安东路550号海洋大厦29楼2903室

广东省深圳市光明区光源五路宝新科技园4栋707号

扫码关注