1. 概述

业务集市作为数据接入和可视化展示的中间环节,为用户提供了新建模型、数据查看、数据加工、共享复用等能力,为后续可视化展示提供有效的数据支撑。

让不会写SQL代码的业务人员能够低成本地完成数据生产处理工作,极大降低用户使用门槛;同时,用户也可以使用其他人创建的业务模型配置图表,帮助企业提升数据资源的流转效率。


2. 创建业务模型

根据业务诉求,支持用户创建多种来源的业务模型,主要分为以下三类,各来源业务模型的新建流程详见:

3. 查看业务模型

业务模型的详情页是该模型的只读状态,用户可在业务集市及可视化层通过详情页查看业务的详细数据,以及做有限的(在选定条件范围内的)过滤分析操作。

回看态实际包括了以下四个部分,满足在一定限制的情况下支持看数场景的快速渲染的能力。

  1. 通用功能区
  2. 分析配置区
  3. 数据筛选区
  4. 图表展示区

 

3.1. 通用功能区

通用功能区域是页面的通用框架,业务集市中所有模型的通用信息与功能都收纳在此区域,如下图所示:


详细功能描述请参考下表:


名称

功能

1配置图表使用此业务模型配置去配置图表,可选择配置到「已有报表」或「新报表」中,详情请参考:制作图表
2计算列对此模型数据的二次加工,对已有字段的补充,详情请参考:新建计算列
3

更多

  1. 查看配置
  2. 删除
  1. 查看/编辑此业务模型的配置信息
    包括:基础信息、业务设置、更新设置、权限设置等
  2. 删除报表时候展示此业务模型的应用关系
    包括:报表名称、图表名称、操作人账户
4前往分析模型携带此业务模型的提数规则返回分析模型重新发起查询的快捷路径
5编辑业务模型重新编辑更新此业务模型的查询规则,详情请参考:编辑业务模型
6业务模型状态信息与管理者展示当前数据的更新状态与协同管理者信息
7模式切换

在查看主模型的同时,支持查看结果表模式,详情请参考:结果表详情页

同时可使用结果表模式进行数据模型的拼接,详情请参考:数据加工-模型拼接


3.2. 分析配置区

分析配置区展示此模型的查询规则,包括保存时快照的数据约束情况,如下图:

详细功能描述请参考下表:


名称

功能

1指标此业务模型中包含的全部指标与自定义指标的集合
2分组此业务模型中按「事件属性、用户属性、用户标签、用户分群」等分类展示项的集合
3展示项控制此业务模型中「指标」或「分组」在数据展示区域的展示与隐藏
4全局筛选此业务模型提数规则中对全局信息的筛选过滤条件
5时间粒度时间维度的聚合粒度
6其他配置包括分析的主体、分析所在的时区等
7数据约束

受控于该模型创建时,创建人的元数据权限限制

事件表与用户表数据权限取交集,不允许使用「用户表」中无权限的用户对应的事件


3.3. 数据筛选区

数据筛选区可对当前模型下的数据进行筛选过滤后展示,同时展示当前用户的数据权限,如下图:

详细功能描述请参考下表:


名称

功能

1数据权限显示当前用户在查看此业务模型受到的数据权限控制
2数据更新时间业务模型数据的更新时间
3预置合计范围

合计模式时,显示当前模型合计结果的去重窗口

4数据合计开关

控制当前业务模型展示的是明细数据结果,还是合计后的数据。

  • 开关关闭:展示明细数据
  • 开关打开:展示合计切片数据
5数据筛选项对业务模型的时间、分组值、指标值的数据展示效果进行筛选、过滤


3.4. 图表展示区

图表展示区对筛选作用后的数据用图表的形式展示出来,同时当前查看人受到当前业务模型被分配的查看权限限制,如下图:

详细功能描述请参考下表:


名称

功能

1图表功能当前图形下支持的功能;例如:收起时间、展示增长率等
2数据导出受数据导出的权限点控制,支持导出用户数据权限范围内的 Excel 数据
3图表切换可切换为其他的图表展现形式;根据业务模型的来源不同,支持的图表类型也不同
4数据展示此区域展示的数据范围受控于当前用户的数据权限限制


3.5. 结果表详情页

每个分析模型,系统按照时间维度的向量压缩,提供一份时间明细下的结果表,可自由切换查看,此结果表按业务模型的分析粒度进行存储;

例如,事件分析模型按天分析,则结果表按天进行数据的拆解存储,如下图:


模式详情页展示
1分析模型

2分析模型-结果表

结果表常见场景为,可视化的拖拽分析使用,实现分析模型结果接入BI的灵活分析,以及实现多个业务模型结果表的融合拼接使用,做多个分析模型的效果拉通分析


4. 数据加工

已有的数据中缺少分析所需的数据,需要对数据进行二次加工;

例如:用户想要判断当前的合同金额属于「大订单」还是「小订单」,但是现在的数据中并没有该类型的字段。

例如:当前模型中的字段名称不符合业务使用诉求,想修改成其他的名字进行展示。

4.1. 计算字段

业务集市的「计算字段」提供了添加计算字段的功能,实现对已存在的字段再计算的能力,从而可以得到新的字段,可以方便实现目标字段。支持添加维度计算字段和指标计算字段。

例如:用户使用计算字段增加一个新的维度字段,当「合同金额」大于1000000 时是大订单。

4.1.1. 支持类型

以下来源的业务模型支持新建计算字段的能力,支持范围如下:

  • 指标分析
  • 事件分析
    • 标准聚合模式
    • 结果表模式
  • session分析
    • 标准聚合模式
    • 结果表模式
  • 漏斗分析-结果表模式
  • 留存分析-结果表模式
  • session分析-结果表模式
  • 自定义查询
  • 数据表

4.1.2. 添加入口

计算列的添加入口如下图所示:

  • 业务模型详情页展示「计算字段」入口;
  • 此功能受「管理权限」控制,需要有当前模型的协同管理权限,才支持使用此功能。

4.1.3. 管理计算字段

进入计算字段的页面后,可对当前的计算字段进行管理:

  1. 搜索:支持对计算列的名称进行搜索,快速定位目标的计算字段;
  2. 新建:支持新建,每个模型有新建的个数限制,如有需要,可联系运维调整个数限制;
  3. 计算列名称:当前计算字段的名称,每个模型中的计算字段不可重复
  4. 类型:该计算字段的类型
  5. 操作-编辑:进入该计算字段的编辑界面,修改该字段的名称、函数、语句等
    操作-删除:删除此字段

4.1.4. 编辑计算字段

进入计算字段的编辑界面,界面介绍如下:

  1. 编辑/修改计算字段名称;
  2. 快捷添加常用的运算符;
  3. 公式输入区;
  4. 计算列支持的函数;
  5. 该模型中的基础字段与计算字段;
  6. 函数或字段解释区,支持解析当前语句是否正确,并展示语句错误原因。

4.1.5. 函数组成

函数计算由4个部分组成:


内容说明
1函数用于对字段中的值或内容进行转换的语句
2字段 用户数据表中的维度或指标
3运算符指明运算的符号
4文本表达式按照写入内容表示的常量值


例如,假设有以下计算:IF(合同金额>2000,"大订单","小订单");对应计算内容如下所示:


内容说明
1函数IF
2字段

合同金额

3运算符>
4文本表达式
  • 字符串文本:"大订单"、"小订单"
  • 数字文本:2000


4.1.6. 函数格式与支持清单

函数在使用的过程中需要满足目标格式,例如下图:

区域1 是函数名称,区域2是参数数据类型,隐含返回的数据类型,主要函数说明如下

函数分类函数名称语法说明(界面名称语法备注区域)参数数据类型返回数据类型
聚合函数SUM

sum(number)
返回表达式中所有值的总和

示例:
sum([sales])

numbernumber
聚合函数AVG

avg(number)
返回表达式中所有值的平均值

示例:
avg([sales])

numbernumber
聚合函数COUNT

count(exp)
返回表达式中所有值的计数

示例:
count([id])

number;

string;

datetime;

(bool)

number
聚合函数DISTINCT COUNT

distinctcount(exp)
返回表达式中所有值的去重计数

示例:
distinctcount([userid])

number;

string;

datetime;

(bool)

number
聚合函数MAX

max(exp)
返回表达式中所有值的最大值

示例:
max([sales])

numbernumber
聚合函数MIN

min(exp)
返回表达式中所有值的最小值

示例:
min([sales])

numbernumber
逻辑函数CASE

case <expr> when <value1> then <return1> when <value2> then <return2> ... [else <else>] end
执行逻辑测试并返回相应的值。case 函数可评估 expr,并将其与一系列值(value1、 value2 等)比较,然后返回结果。

case when <condition1> then <return1> when <condition2> then <return2> ... [else <else>] end:执行逻辑测试并返回相应的值。case 函数根据 condition 执行为 true,返回结果。

示例:

case when [City]="上海" then [City] else null end


根据exp而定
逻辑函数WHEN

case <expr> when <value1> then <return1> when <value2> then <return2> ... [else <else>] end
执行逻辑测试并返回相应的值。case 函数可评估 expr,并将其与一系列值(value1、 value2 等)比较,然后返回结果。

case when <condition1> then <return1> when <condition2> then <return2> ... [else <else>] end:执行逻辑测试并返回相应的值。case 函数根据 condition 执行为 true,返回结果。

示例:

case when [City]="上海" then [City] else null end


根据exp而定
逻辑函数THEN

case <expr> when <value1> then <return1> when <value2> then <return2> ... [else <else>] end
执行逻辑测试并返回相应的值。case 函数可评估 expr,并将其与一系列值(value1、 value2 等)比较,然后返回结果。

case when <condition1> then <return1> when <condition2> then <return2> ... [else <else>] end:执行逻辑测试并返回相应的值。case 函数根据 condition 执行为 true,返回结果。

示例:

case when [City]="上海" then [City] else null end



根据exp而定
逻辑函数ELSE

case <expr> when <value1> then <return1> when <value2> then <return2> ... [else <else>] end
执行逻辑测试并返回相应的值。case 函数可评估 expr,并将其与一系列值(value1、 value2 等)比较,然后返回结果。

case when <condition1> then <return1> when <condition2> then <return2> ... [else <else>] end:执行逻辑测试并返回相应的值。case 函数根据 condition 执行为 true,返回结果。

示例:

case when [City]="上海" then [City] else null end


根据exp而定
逻辑函数OR

case when <expr1> or <expr2> then <then1> [else <else>] end
对两个表达式执行或者的条件判断。

示例:

case when ([Sales] < 0 or [Sales] = 0) then "没有盈利"
else "盈利良好" end


逻辑函数AND

case when <expr1> and <expr2> then <then1> [else <else>] end
对两个表达式执行并且的条件判断。

示例:

case when(['Profit'] >100 and ['Profit'] <500) then "一般盈利"
else "盈利未知"
end



逻辑函数IIF

iif(condition, true,false)
检查某个条件是否得到满足,如果为 true 则返回一个值,如果为 false 则返回另一个值。

示例:
iif (sales>6,1,0),如果此列销售额的值大于6就返回1,否则返回0

bool,exp1,exp2

number

string

datetime

(bool)

逻辑函数IFNULL

ifnull(expr1, expr2)
如果 <expr1> 不为 null,则返回该表达式expr1,否则返回 <expr2>。

示例:
ifnull([Profit], 0)

表达式

表达式1

或者

表达式2


4.1.7. 使用计算字段

完成计算列的创建后,可在详情页界面预览使用,如下图所示:

  • 指标类型的计算字段在指标「展示项」中设置;
  • 维度/分组类型的计算字段在维度/分组的「展示项」中设置;
  • 确认勾选后,在右侧数据展示区即可预览目标计算字段。



4.2. 修改显示名

原始字段的名称不满足业务使用诉求时,可在业务集市中对「字段显示名」进行修改;显示名默认为「字段名称」,修改显示名后,所有使用了该业务模型的报表都会统一展示修改后的字段名

例如:上传的数据表中包含「Country」「City」字段,但是配置报表时想展示成「国家」「城市」,就可在业务集市的详情页修改对应字段的显示名。

4.2.1. 支持类型

在业务集市中,以下来源的业务模型支持在详情页中对显示名称进行修改,后续会初步完善统一此功能。

  • 自定义查询
  • 数据表

4.2.2. 操作入口

在业务模型的详情页中,进入「字段信息」tab页面下,展示当前模型中的字段名称、字段显示名称、字段类型等信息。「字段显示名」列中,可以对某字段显示名进行修改,如下图:

4.2.3. 展示显示

字段名称修改后,业务集市详情页以及后续的可视化配置与查看过程,都统一使用修改后的显示名进行展示。

展示位置展示样式
业务模型详情页

可视化




5. 编辑业务模型

5.1. 编辑入口

支持对已经创建并使用的业务模型进行编辑,快速修改业务模型的提数规则,免去新建的流程,使业务模型能更加快速满足业务响应。

编辑入口在详情页通用功能区域的右上角,如下图所示:


5.2. 编辑校验

业务模型在保存时,对当前创建人的权限约束做了权限快照,例如:事件属性、用户属性、维度、指标等。

在从详情页返回分析模型进行编辑时,如果该用户当前的数据约束与之前创建时镜像的约束条件存在不同,会在触发「编辑业务模型」时进行校验提醒,避免误操作。如下图:

5.3. 保存编辑

从详情页返回到分析模型进行查询语句的修改后,可以重新更新历史业务模型,也可另存为新的业务模型。

  • 另存为:同新建业务模型的步骤与逻辑相同,详情请参考:新建业务模型
  • 更新:在历史业务模型的基础上,更新查询语句;


5.3.1. 更新查询语句

从业务模型返回至分析模型重新编辑时,会进行查询语句的校验判断,会分为两种情况:

  • 情况一:查询条件发生了变化:
  • 情况二:查询条件没有发生变化:

情况一:查询条件发生了变化:

  1. 步骤一:点击「更新」后,出现「更新确认」的弹窗提醒,提醒您“更新后可能会影响已经配置的可视化图表,是否继续更新”,如下图所示


  2. 步骤二:确认更新后,会触发「更新配置确认」的信息,对已有历史数据的备份处理进行设置。
    1. 覆盖:将根据新的查询条件适配已有的可视化配置,历史数据不保留
    2. 更新并备份历史数据:保留历史数据,迁移至下方的业务模型备份存储


情况二:查询条件没有发生变化::查询条件没有发生变化:

  1. 步骤一:点击「更新」
  2. 步骤二:无「更新配置确认」的弹窗设置,直接进行后续配置信息的设置

5.3.2. 更新配置信息

上述两种情况在「确认更新」后,都会进入配置信息的设置界面,在此抽屉内您可继续对当前模型的基础信息、业务设置、更新方式、权限设置等一些列配置项进行更新修改,如下图:

5.3.3. 配置执行时间

完成该模型所有配置信息的设置后,「保存」进业务集市时配置本次查询更新的执行时间,支持两种方式,如下图:

  • 立即执行:返回业务集市时,立即执行此次查询更新
  • 指定执行时间:在指定的时间点进行更新任务,可选择的时间范围同时满足 24 小时以内且下次例行调度任务之前,无可用时间时不支持使用此项配置

即可返回业务集市,等待修改编辑后模型更新即可,如下图: