0
点赞
收藏
分享

微信扫一扫

大数据时代来临,培养企业“数据文化”势在必行

在大数据时代,企业收集、存储、报告和分析数据的需求越来越大。企业在不断努力地进行数字化转型,更多的商业价值需要从数据中解锁,比如利润的增长、风险和成本的控制等。IDC 的报告中说:未来每一家公司都是数据公司。真正的现代企业会培养一种文化,越来越多的人将其称为“数据文化”。


数据文化让不同级别和不同角色的人每天都能够使用数据做出更好的决策,以正确的形式,在正确的时间提供数据和相关的信息,从而产生积极影响,提升业务指标。一旦企业真正成为数据驱动型组织,其数据就能实现更高的价值。


IDC 的研究表明,数据领先型组织(具有强大数据文化的组织)往往会获得积极成果,包括:


  • 增强差异化竞争优势
  • 缩短推向市场所需的时间
  • 增加利润
  • 提高员工满意度等等

如何理解并快速构建现在流行的“​​数据文化​​”?

在一切数字化的趋势下,让数据融入到企业组织的运营模式,思维方式中,鼓励和践行以数据为决策的行为和信念,更多人能了解、参与、
分析、推理数据,把​​​数据分​​析和决策无缝的嵌入现有的工作流程中,搭建统一的数据平台,采用统一的分析工具,真正做到以数据为驱动,让数据分析和业务成果接轨,解决复杂的业务难题。


这听起来很简单,但实践起来并非易事,对于普通员工来说,访问、理解和解释大量复杂的数据可能会让人望而生畏。对于非技术背景的业务人员,仍然需要花费大量的时间跨越技术的门槛,因此数据文化仍被局限在单一部门或者个别数据专家之间。


要培养真正的数据驱动文化,关键的问题是,如何让你的团队,无论是否是专家,或者技术人员,都可以更快、更简单地做出数据驱动的商业决策,从数据分析中得出业务相关的信息。


使用​​嵌入式分析​​,助力​​数据分析​​文化形成

在我们以往听到的数据分中,通常有Excel、Python、SQL等等,excel对于数据的统一接入似乎不是很方便,而Python和SQL等语言更是依赖于平台部署和需要更多的技术背景。除此之外,现在越来越多的公司开始使用更成熟的BI分析工具。Wyn Enterprise作为一款嵌入式BI工具,推出的全新分析表达式,基于数据模型,提供上百种函数用于各种复杂指标、度量值和行业成熟模型的分析和使用,比如客户价值分析RFM模型和财务分析常用的杜邦分析,可以通过原始数据计算出更多有价值的复杂数据指标,包含销售环比增长、大区销售占有率等等。

使用Wyn接入各个不同数据源的数据,完整进行数据分析和大屏制作的流程如下:

大数据时代来临,培养企业“数据文化”势在必行_数据模型

下面我们重点介绍下如何用分析表达式的特点,以及如何快速完成复杂数据的分析和展示。

1、语法简单,省去写复杂SQL

在现在平台部署越来越复杂的趋势下,有的企业甚至采用多个不同类型的数据库存储业务数据,但是又需要将数据统一起来进行分析。分析表达式完全独立于数据源类型,统一语法,语法简单且完全从业务的思维出发,编辑器智能,无需学习SQL语言,也无需学习编程语言,可以在智能编辑器和内置模板的基础上快速上手。编辑器总共提供了18种常用的运算符和9大类常用函数,在制作仪表板的过程中,普通的业务人员也可以根据分析场景的需要灵活地编写和计算自己想要的更多指标,比如:销售完成率、销售完成率同比、客流量环比、排名等,让大屏展示的内容更具价值,更能帮助企业管理者做出决策。

以下示例,直接通过双击完成运算,用购买数量*单价,就得出订单金额。

大数据时代来临,培养企业“数据文化”势在必行_数据分析_02

查询对应后台日志中生成的SQL如下:

SELECT ​​订单明细​​.​​购买数量​​ * ​​订单明细​​.​​订单单价​​ AS ​​订单明细_订单金额​​ FROM ​​销售分析​​.​​订单明细​​.

下面我们给出一个更直观的例子来对比分析表达式和SQL的分析,
比如分析每个商品的总销售额和占总销售额的百分比。

大数据时代来临,培养企业“数据文化”势在必行_数据分析_03

此处我们只需要计算两个指标,一个是每个商品的总销售额,公式如下:

大数据时代来临,培养企业“数据文化”势在必行_数据分析_04

第二个是占总销售额的百分,公式如下:只需要用第一行每个商品销量的总和除以第二行总的销量All即可,

大数据时代来临,培养企业“数据文化”势在必行_数据分析_05

完整的分析SQL

如下:

SELECT

​商品_view4​​.​​商品商品名称​​ AS ​​商品_商品名称​​,

​商品_view4​​.​​商品_商品名称_Order_Value​​ AS ​​商品_商品名称_Order_Value​​,

​商品_view4​​.​​订单明细_订单金额_SUMX​​ AS ​​订单明细_订单金额_SUMX​​,

​商品_view4​​.​​订单明细_占总销售额_SUMX​​ AS ​​订单明细_占总销售额_SUMX​

FROM (SELECT DISTINCT
​商品_view3​​.​​商品商品名称​​ AS ​​商品商品名称​​,

​商品_view3​​.​​订单明细_订单金额_SUMX​​ AS ​​订单明细_订单金额_SUMX​​,

​商品_view3​​.​​订单明细_占总销售额_SUMX​​ AS ​​订单明细_占总销售额_SUMX​​,

​商品_view3​​.​​商品_商品名称_Order_Value​​ AS ​​商品_商品名称_Order_Value​

FROM (SELECT
​MainTable​​.​​商品商品名称​​,

​JoinTable1​​.​​订单明细_订单金额_SUMX​​,

​JoinTable2​​.​​订单明细_占总销售额_SUMX​​,

​JoinTable3​​.​​商品_商品名称_Order_Value​

From
(SELECT DISTINCT
​商品_view2​​.​​商品名称​​ AS ​​商品商品名称​

FROM (SELECT
​商品​​.​​商品名称​​ AS ​​商品名称​

FROM ​​销售分析-数据模型​​.​​商品​

​商品​

)
​商品_view2​

) ​​MainTable​

Left join
(SELECT
​订单明细_view​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

(SUM(​​订单明细_view​​.​​订单金额​​)) AS ​​订单明细_订单金额_SUMX​

FROM (SELECT
​订单明细_view​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

​订单明细_view​​.​​订单金额​​ AS ​​订单金额​

FROM (SELECT
订单单价 * 购买数量 AS ​​订单金额​​,

​商品​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​

FROM ​​销售分析-数据模型​​.​​订单明细​

​订单明细​

INNER JOIN
(SELECT
​商品​​.​​商品名称​​ AS ​​订单明细_商品商品名称​​,

​商品​​.​​商品编号​​ AS ​​订单明细_商品商品编号​

FROM ​​销售分析-数据模型​​.​​商品​

​商品​

)
​商品​​ ON

​订单明细​​.​​商品编号​​ = ​​商品​​.​​订单明细_商品商品编号​

)
​订单明细_view​

)
​订单明细_view​

GROUP BY ​​订单明细_view​​.​​订单明细_商品商品名称​

) ​​JoinTable1​

on
((CASE WHEN ​​MainTable​​.​​商品商品名称​​ IS NULL THEN '1242bbc1-1f72-4c62-a35f-2d9c49e060b4' ELSE ​​MainTable​​.​​商品商品名称​​ END) = (CASE WHEN ​​JoinTable1​​.​​订单明细_商品商品名称​​ IS NULL THEN '1242bbc1-1f72-4c62-a35f-2d9c49e060b4' ELSE ​​JoinTable1​​.​​订单明细_商品商品名称​​ END))

Left join
(SELECT
​商品_view​​.​​商品名称​​ AS ​​商品名称​​,

((CAST(​​商品_view​​.​​C1​​ AS DECIMAL)) / ​​商品_view​​.​​C2​​) AS ​​订单明细_占总销售额_SUMX​

FROM (SELECT
​MainTable​​.​​商品名称​​,

​JoinTable1​​.​​C1​​,

​JoinTable2​​.​​C2​

From
(SELECT
​商品​​.​​商品名称​​ AS ​​商品名称​

FROM ​​销售分析-数据模型​​.​​商品​

​商品​

) ​​MainTable​

Left join
(SELECT
​订单明细​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

(SUM((​​订单明细​​.​​购买数量​​ * ​​订单明细​​.​​订单单价​​))) AS ​​C1​

FROM (SELECT
​订单明细​​.​​购买数量​​ AS ​​购买数量​​,

​订单明细​​.​​订单单价​​ AS ​​订单单价​​,

​商品​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​

FROM ​​销售分析-数据模型​​.​​订单明细​

​订单明细​

INNER JOIN
(SELECT
​商品​​.​​商品名称​​ AS ​​订单明细_商品商品名称​​,

​商品​​.​​商品编号​​ AS ​​订单明细_商品商品编号​

FROM ​​销售分析-数据模型​​.​​商品​

​商品​

)
​商品​​ ON

​订单明细​​.​​商品编号​​ = ​​商品​​.​​订单明细_商品商品编号​

)
​订单明细​

GROUP BY ​​订单明细​​.​​订单明细_商品商品名称​

) ​​JoinTable1​

on
((CASE WHEN ​​MainTable​​.​​商品名称​​ IS NULL THEN 'f464fef0-26c7-49e8-972d-b868fb61a2e9' ELSE ​​MainTable​​.​​商品名称​​ END) = (CASE WHEN ​​JoinTable1​​.​​订单明细_商品商品名称​​ IS NULL THEN 'f464fef0-26c7-49e8-972d-b868fb61a2e9' ELSE ​​JoinTable1​​.​​订单明细_商品商品名称​​ END))

Cross join
(SELECT
(SUM((​​订单明细​​.​​购买数量​​ * ​​订单明细​​.​​订单单价​​))) AS ​​C2​

FROM (SELECT
​订单明细​​.​​购买数量​​ AS ​​购买数量​​,

​订单明细​​.​​订单单价​​ AS ​​订单单价​

FROM ​​销售分析-数据模型​​.​​订单明细​

​订单明细​

)
​订单明细​

) ​​JoinTable2​

)
​商品_view​

) ​​JoinTable2​

on
((CASE WHEN ​​MainTable​​.​​商品商品名称​​ IS NULL THEN 'ab9e8e21-36cf-4a39-b186-cdcd52bb1881' ELSE ​​MainTable​​.​​商品商品名称​​ END) = (CASE WHEN ​​JoinTable2​​.​​商品名称​​ IS NULL THEN 'ab9e8e21-36cf-4a39-b186-cdcd52bb1881' ELSE ​​JoinTable2​​.​​商品名称​​ END))

Left join
(SELECT
​订单明细_view4​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

(ROW_NUMBER() OVER ( ORDER BY ​​订单明细_view4​​.​​订单明细_订单金额_SUMX​​ DESC )) AS ​​商品_商品名称_Order_Value​

FROM (SELECT DISTINCT
​订单明细_view3​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

​订单明细_view3​​.​​订单明细_订单金额_SUMX​​ AS ​​订单明细_订单金额_SUMX​

FROM (SELECT
​订单明细_view2​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

(SUM(​​订单明细_view2​​.​​订单金额​​)) AS ​​订单明细_订单金额_SUMX​

FROM (SELECT
​订单明细_view2​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​​,

​订单明细_view2​​.​​订单金额​​ AS ​​订单金额​

FROM (SELECT
订单单价 * 购买数量 AS ​​订单金额​​,

​商品​​.​​订单明细_商品商品名称​​ AS ​​订单明细_商品商品名称​

FROM ​​销售分析-数据模型​​.​​订单明细​

​订单明细​

INNER JOIN
(SELECT
​商品​​.​​商品名称​​ AS ​​订单明细_商品商品名称​​,

​商品​​.​​商品编号​​ AS ​​订单明细_商品商品编号​

FROM ​​销售分析-数据模型​​.​​商品​

​商品​

)
​商品​​ ON

​订单明细​​.​​商品编号​​ = ​​商品​​.​​订单明细_商品商品编号​

)
​订单明细_view2​

)
​订单明细_view2​

GROUP BY ​​订单明细_view2​​.​​订单明细_商品商品名称​

)
​订单明细_view3​

)
​订单明细_view4​

) ​​JoinTable3​

on
((CASE WHEN ​​MainTable​​.​​商品商品名称​​ IS NULL THEN '2dc2902b-1401-458c-932e-ec1ff00f9cad' ELSE ​​MainTable​​.​​商品商品名称​​ END) = (CASE WHEN ​​JoinTable3​​.​​订单明细_商品商品名称​​ IS NULL THEN '2dc2902b-1401-458c-932e-ec1ff00f9cad' ELSE ​​JoinTable3​​.​​订单明细_商品商品名称​​ END))

)
​商品_view3​

)
​​​商品_view4​

2、快速跨表计算,无需创建表连接

在常见的数据分析中,大部分的数据需要跨表,甚至是跨库进行计算,难度和计算效率往往增加。在Wyn Enterprise中接入统一数据分析平台后,在同一个模型中就可以使用分析表达式无缝运算。

比如以下示例需要计算销售的完成率,通常订单金额和预算金额存储在两个表甚至两个库中,此处可以直接引用计算出对应的完成率。

大数据时代来临,培养企业“数据文化”势在必行_数据模型_06

3、快速自定义新的分析维度

在数据分析的过程中,有时候原始数据并不能满足我们分析的需要,除了构建更复杂的指标外,往往我们也希望能够进一步加工数据作为新的维度,满足分析的需要,比如:针对不同的销售额区间,自定义为“销量较差”、“销量一般”、“销量较好”,从而进一步统计商品分别位于那个区间。

分析表达式可以用switch快速自定义出新的维度,突破原始数据,用于进一步分析的需要,包括数字、字符串、时间日期等。

大数据时代来临,培养企业“数据文化”势在必行_数据分析_07

4、切换分析维度后无需修改表达式

在常见的分析中,如果根据不同维度分析同一个指标,总是需要编写多个SQL或者制作多个excel表格,这样就会导致每次想要查看不同的维度时,都需要修改,比如以下示例中按月分析销售额、预算以及完成率和同比,同时想要分析每个大区的销售情况和完成率,这样就需要按照不同修改四个指标,导致整个分析会变得更加繁琐。

分析表达式的优势在于,指标完全独立于维度,一个指标可以灵活用于多个维度的分析,只需要切换“分类”字段,就可以完成另一个维度的分析。

大数据时代来临,培养企业“数据文化”势在必行_数据模型_08


​​通过以上特点可以看出,分析表达式不仅能够快速帮助业务人员以及更多没有技术背景的普通员工突破技术门槛,同时可以帮助技术人员省去写繁琐SQL或者脚本的过程,实现更高效的跨表、跨业务的分析和决策,从而更好的帮助企业形成人人使用数据的氛围,让数据变得有价值,也能逐步的建设企业的数据文化。

通过以上这四点,我们就可以发现数据分析为企业带来的助力有多大了解更多有关Wyn​​数据交互和探索分析能力​​,让更强力的数据分析,为我们的工作带来更多收益。


举报

相关推荐

0 条评论