头疼了这么久的多表数据分析,主题模型一步就搞定了?

楼主
定义IT与业务配合新模式,释放数据价值!

用一张表做数据分析并非难事,但在多数业务场景下,我们进行分析所需要的字段往往分散在多张表中,这就造成了多表分析的最大困境:缺少字段把大量的时间与精力花费在对多张表的数据整合处理,以及合并完成后对数据正确性的校验上,可以说是老用户烦心、新用户不会的一大难题。
今天我们就来帮助大家解决这个难题。我们以下面两张表举例,假如需要去分析各个门店的销售额达成情况,你会怎么做?

大部分人的第一反应是:我得先把表合并一下。这么想的原因在于目标和销售额分散在两个表中,不方便计算。
如果我们用传统的方法,将店名作为依据合并,就会得到下面这张表:

这样的数据一行一行看起来好像没什么问题,但如果直接拿来做分析,就会出现很明显的数据错误。请看下图,做了一个分组表,销售指标直接翻了3倍,要是看见这么个看板,销售部门怕是有亿点意见了。

上述场景的核心问题在于,我们在实际分析时其实是依赖单表进行的,所以不得不把字段都合并进一张表里。虽然大家可以用五花八门的方法,历经千辛万苦将它解决,但这么一个看似普通的场景,耗费如此多的精力完成,着实投入产出比太低了。
那有没有真正针对多表分析场景的功能,在保证结果准确的同时能够让分析更加简单轻松呢?--------“主题模型”来了!

真有这么神吗???还是这个场景,让我们来看看主题模型是如何解决上述问题的。

第一步:在模型视图建立起表与表之间的关联关系。

第二步?
。。。。
没有第二步!

一步到位直接开始分析!接下来让我们一边继续完成分析,一边了解主题模型的亮点。

 

亮点之一:支持跨表选择字段

可以看到,在建立模型关系之后,我们可以直接在左侧拖拽来自于不同表的【销售额】【年度销售指标】两个字段进行分析。只需简单两步就能展现结果,并且最终的数据也没有发生膨胀,得出正确的店铺销售额和目标情况。


建立模型关系后支持直接选择来自不同表的字段

接下来,我希望基于销售额和目标计算出“销售额差距”,销售额差距=目标-销售额。如何实现呢?在以往的情况下,如果用合并,那么还是老样子,会遇到数据膨胀的问题。如果想要新增一个计算字段,那就又不得不去合并他们。

新手可能在这里就卡住了,没关系,我们来看亮点二是如何解决的!

亮点之二:支持跨表计算字段

主题模型支持跨表计算字段的建立,所以现在我们可以直接新建一个计算字段,输入sum_agg(年度销售额指标)-sum_agg(销售额)。虽然两个字段来自不同的数据表,但这个新建的计算字段会基于分析区域的维度先聚合再做计算,可以保证数据正确。
现在的分析过程和以往并没有什么不同,但我们能够选取到其他表的字段直接参与计算,就不需要再回到数据处理的步骤去做表的合并。这样,不仅数据不会出错,灵活度也大大提升,更加易用。


来自不同表的字段可以放在一起计算

亮点之三:计算字段复用性提升

不仅如此,计算字段也能够跨组件复用
在分析完各门店的差距之后,如果还想从新的维度出发,去分析各个大区目标差距情况,在以往的情况下,我们需要浪费时间新建一个计算字段,再写一遍公式。
而现在,通过主题模型,我们不需要重复操作,可以直接选取创建好的计算字段来使用,然后更换分析的维度即可呈现对应结果。

计算字段可以在不同组件之间复用

多事实表分析?一样轻松拿捏!

上面是一个简单的维度表关联事实表的场景,让我们再看看更难处理的多事实表关联分析场景:基于产品大类,对销售额及回款情况做分析。

由于销售额和回款两个指标分散在两张事实表中,如果用传统做数据集的方法,第一步先要凭借产品id字段,把“产品大类”从维度表里分别拼接到两张事实表中,第二步再分别对事实表做分组汇总。

对事实表处理后的分组汇总表

分别做出上图的表结构后还得依据“产品大类”再做一次左右合并才能得出“产品大类-销售额-回款额”的数据表。这个过程中会产生多张冗余的表。不仅如此,由于在过程中破坏了原表的结构,这次分析的所有动作都变得“一次性”:假如我现在改变分析的维度,基于产品小类来做分析,那我所有的步骤都得全部重做一遍。

我们可以想象一下,如果表更多,数据量更大,整个处理过程将会异常复杂!

传统方法产生大量无用中间表

这个场景我们同样可以通过建立主题模型来解决!
首先通过产品id建立彼此的关联关系,接着就可以直接进入组件进行多维度的分析。即使更换分析的维度,也不需要从头再来,只要拖拽新的字段进入组件即可。原来花费十多分钟处理数据表,现在几秒钟就搞定了。

多事实表场景下,通过建立主题模型直接分析

一方面,主题模型节省了大量反复合并建表花费的时间且更加灵活,给予用户更多自由分析的空间。另一方面,相比以往做大宽表的方式,主题模型仅在分析时根据维度自动进行必要的合并、聚合计算,让整体性能更上一个台阶,带来更顺滑的分析体验。

邀您体验

本文只是讲述了一些非常简单的例子,但其中展示的操作也同样适用于实际业务中更复杂的场景,相信跨表选字段、跨表计算字段、计算指标多组件复用等能力会为您带来全新的体验。
目前主题模型已上架FineBI6.0.8版本,欢迎点击链接前往官网下载本地版进行体验,或联系官方技术支持进行升级。

 

 

 

 

分享扩散:

沙发
发表于 2023-4-4 09:25:11
多事实表分析的情况下,假设我还有一个日历维度表,想展示 年月+产品大类的 销售和回款指标,如何建模?试了下,好像不支持
板凳
发表于 2023-4-13 18:42:36

很好的功能,但是主要还是适用于基于数据库表的场景。

基于excel自助分析情况下,使用起来略显局限。excel的数据并没有数据库表这么理想。

1、很多时候需要先对数据二次加工再进行关联,无法用原表直接关联;

2、很多时候,excel中关联条件不止一个。

地板
发表于 2023-7-24 14:31:09
经常碰到复杂计算就嗝屁了
5楼
发表于 2023-7-27 14:52:40

假如A表需要用产品id+经销商id关联B表,而A、B表的产品id和经销商id并不是都存在的,那关联后,展示数据时把经销商和产品拉出来会出现缺漏的情况,如果从A表拉出来就以A表为准,B拉出来就以B表为准。但是我要并集的维度显示啊,显然没有这个功能

例子:A表 经销商id:1、2、3,产品id1、2、3

B表 经销商id:2、3、4,产品id:2、3、4,报表就想显示经销商id:1,2,3,4 产品id:1,2,3,4

但是目前的模型做不了,还是得用大宽表的形式

6楼
发表于 2024-3-27 16:03:00
当关联主题模型后,新增了跨表计算字段,但是在仪表板中增加比如日期筛选控件,选取表一的时间字段,计算字段内的表二的字段也随之被筛选了,但其实表二字段不希望随着表一的时间字段变化,怎么办
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

16回帖数 9关注人数 12509浏览人数
最后回复于:2024-3-27 16:03

返回顶部 返回列表