关注主题
用一张表做数据分析并非难事,但在多数业务场景下,我们进行分析所需要的字段往往分散在多张表中,这就造成了多表分析的最大困境:缺少字段。把大量的时间与精力花费在对多张表的数据整合处理,以及合并完成后对数据正确性的校验上,可以说是老用户烦心、新用户不会的一大难题。今天我们就来帮助大家解决这个难题。我们以下面两张表举例,假如需要去分析各个门店的销售额达成情况,你会怎么做?
大部分人的第一反应是:我得先把表合并一下。这么想的原因在于目标和销售额分散在两个表中,不方便计算。如果我们用传统的方法,将店名作为依据合并,就会得到下面这张表:
这样的数据一行一行看起来好像没什么问题,但如果直接拿来做分析,就会出现很明显的数据错误。请看下图,做了一个分组表,销售指标直接翻了3倍,要是看见这么个看板,销售部门怕是有亿点意见了。
上述场景的核心问题在于,我们在实际分析时其实是依赖单表进行的,所以不得不把字段都合并进一张表里。虽然大家可以用五花八门的方法,历经千辛万苦将它解决,但这么一个看似普通的场景,耗费如此多的精力完成,着实投入产出比太低了。那有没有真正针对多表分析场景的功能,在保证结果准确的同时能够让分析更加简单轻松呢?--------“主题模型”来了!
真有这么神吗???还是这个场景,让我们来看看主题模型是如何解决上述问题的。
第一步:在模型视图建立起表与表之间的关联关系。
第二步?。。。。没有第二步!
一步到位直接开始分析!接下来让我们一边继续完成分析,一边了解主题模型的亮点。
可以看到,在建立模型关系之后,我们可以直接在左侧拖拽来自于不同表的【销售额】【年度销售指标】两个字段进行分析。只需简单两步就能展现结果,并且最终的数据也没有发生膨胀,得出正确的店铺销售额和目标情况。
建立模型关系后支持直接选择来自不同表的字段
接下来,我希望基于销售额和目标计算出“销售额差距”,销售额差距=目标-销售额。如何实现呢?在以往的情况下,如果用合并,那么还是老样子,会遇到数据膨胀的问题。如果想要新增一个计算字段,那就又不得不去合并他们。
新手可能在这里就卡住了,没关系,我们来看亮点二是如何解决的!
亮点之二:支持跨表计算字段
主题模型支持跨表计算字段的建立,所以现在我们可以直接新建一个计算字段,输入sum_agg(年度销售额指标)-sum_agg(销售额)。虽然两个字段来自不同的数据表,但这个新建的计算字段会基于分析区域的维度先聚合再做计算,可以保证数据正确。现在的分析过程和以往并没有什么不同,但我们能够选取到其他表的字段直接参与计算,就不需要再回到数据处理的步骤去做表的合并。这样,不仅数据不会出错,灵活度也大大提升,更加易用。
来自不同表的字段可以放在一起计算
亮点之三:计算字段复用性提升
不仅如此,计算字段也能够跨组件复用。在分析完各门店的差距之后,如果还想从新的维度出发,去分析各个大区目标差距情况,在以往的情况下,我们需要浪费时间新建一个计算字段,再写一遍公式。而现在,通过主题模型,我们不需要重复操作,可以直接选取创建好的计算字段来使用,然后更换分析的维度即可呈现对应结果。
计算字段可以在不同组件之间复用
上面是一个简单的维度表关联事实表的场景,让我们再看看更难处理的多事实表关联分析场景:基于产品大类,对销售额及回款情况做分析。
由于销售额和回款两个指标分散在两张事实表中,如果用传统做数据集的方法,第一步先要凭借产品id字段,把“产品大类”从维度表里分别拼接到两张事实表中,第二步再分别对事实表做分组汇总。
对事实表处理后的分组汇总表
我们可以想象一下,如果表更多,数据量更大,整个处理过程将会异常复杂!
传统方法产生大量无用中间表
这个场景我们同样可以通过建立主题模型来解决!首先通过产品id建立彼此的关联关系,接着就可以直接进入组件进行多维度的分析。即使更换分析的维度,也不需要从头再来,只要拖拽新的字段进入组件即可。原来花费十多分钟处理数据表,现在几秒钟就搞定了。
多事实表场景下,通过建立主题模型直接分析
一方面,主题模型节省了大量反复合并建表花费的时间,且更加灵活,给予用户更多自由分析的空间。另一方面,相比以往做大宽表的方式,主题模型仅在分析时根据维度自动进行必要的合并、聚合计算,也让整体性能更上一个台阶,带来更顺滑的分析体验。
本文只是讲述了一些非常简单的例子,但其中展示的操作也同样适用于实际业务中更复杂的场景,相信跨表选字段、跨表计算字段、计算指标多组件复用等能力会为您带来全新的体验。目前主题模型已上架FineBI6.0.8版本,欢迎点击链接前往官网下载本地版进行体验,或联系官方技术支持进行升级。
赞 举报
很好的功能,但是主要还是适用于基于数据库表的场景。
基于excel自助分析情况下,使用起来略显局限。excel的数据并没有数据库表这么理想。
1、很多时候需要先对数据二次加工再进行关联,无法用原表直接关联;
2、很多时候,excel中关联条件不止一个。
假如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
但是目前的模型做不了,还是得用大宽表的形式
本版积分规则 发表回复 回帖后跳转到最后一页
Fanruan Certified BI Associate 帆软认证BI工程师
Fanruan Certified Reporting Associate 帆软认证报表工程师