基于业务对象创建的语义模型

1.选择表-添加业务对象

点击【添加业务对象】(业务对象是由领域注册的业务对象,支持按照领域、应用进行分类、搜索、选择业务对象和选择字段),如下图所示:

业务对象支持模糊搜索:

支持在左侧领域、应用栏中进行搜索,用户输入的关键字,需要检索,领域名称、应用名称、业务对象名称匹配的记录;如:搜索"销售",那么领域名称、应用名称、业务对象名称只要包含"销售"都要出现在检索的结果集内,即使只有业务对象匹配,要保障其上级的应用、领域的目录结构的显示。

勾选需要的业务对象以及字段。

2.设置连接条件

当创建的是单业务对象模型,则不需要设置连接条件,直接跳过下一步。或者点击【选择字段】,进入【选择字段】界面。

3.选择字段

3.1.表和字段列表

支持模糊搜索,输入的关键字作用于表名、表别名、字段名、字段显示名;

左侧表字段以抽屉的形式和树形结构展现;

在左侧勾选字段,自动出现右侧选择字段的列表中,便于用户灵活调整需要数据字段;

用户在选择字段列表的左侧勾选复选列,可点击右侧【删除】,也可以直接在最左侧的表和字段中进行去除勾选。

3.2.关联档案

在字段设置关联维度档案,为语义模型在用于报表设计时,便于展开相应的档案字段。

关联档案:是模型字段与相关档案模型的关联设置;关联档案界面中,支持搜索业务对象、语义模型、数据库三个范围内的表或模型;选择一个档案后,单选档案主键与模型字段关联对接

如:我们想看到客户更详细的数据信息,这时,我们给客户ID设置关联档案,操作如下:点击【客户ID】行的关联档案,弹出关联档案页面,选择我们要扩展关联的档案数据表,勾选档案主键与模型字段关联,使两个表产生关联关系,然后选择我们想要的客户档案字段。

如上图所示,如果没有设置关联字段,保存使会提示选择关联字段,正确的操作如下图中所示。

关联档案设置好页面如图所示:

关联了维度档案,该语义模型引入到报表或仪表板中,关联的档案可展开维度档案的相关字段(下图红色框部分),展现为如下

3.3.启用主组织和配置权限管理维度

3.3.1.用户能够感受到的组织权限和数据权限

我们以销售订单的业务单据场景为例:

  • 1.首先我们查看一下用户授权了哪些角色,分配了哪些组织,我们打开【数字化建模】-【权限管理】-【授权】-【授权】

如:用户:焦国进,分配的角色为"all",组织权限为"jgj测试集团"组织

查看角色管理中,角色"all"的数据权限,我们打开【数字化建模】-【权限管理】-【角色管理】-【数据权限】

权限管理维度:客户,权限范围:客户清单=[jgj客户01]
权限管理维度:物料,权限范围:物料清单=[jgj苹果01]

  • 2.查看销售订单的业务单据

在销售订单的中我们查询所有的销售订单,从销售订单的表头+明细的列表中我们看到共计有 2 行记录。

组织为:"jgj测试集团";
客户为:"jgj客户01";
商品为:"jgj苹果01";

上述为用户所感受到的业务单据的组织权限和数据权限。

在用户基于销售订单的业务对象来设计语义模型时,需要支撑客户预览数据和基于语义模型设计的报表、仪表板要与客户在业务单据上看到组织权限和数据权限保持一致。

3.3.2.语义模型中引入业务对象,组织权限和数据权限的加载控制

在语义模型中如果选择BIP数据源,如:查询仓-全领域、查询仓-供应链等,这些数据源默认【启用BIP数据权限】

启用该项后,基于该数据源创建语义模型,即可选择到业务对象,业务对象的组织权限和数据权限将会被在语义模型执行时加载。

基于该BIP数据源的语义模型,默认加载组织权限、数据权限;

我们接上面销售订单的场景,演示该业务对象在语义模型中的权限控制。【选择表】添加业务对象销售订单(voucher.order.Order),然后在【选择字段】页面, 在下图红色框中,销售组织ID、客户id、商品id字段,启用主组织权限,绑定了相应的权限管理维度,这些字段的权限是继承了业务对象设置好的权限,在该语义模型执行时,则在该字段上加载主组织权限的过滤,且按照权限管理维度的授权控制,加载维度权限。

我们点击预览跟上一单元中查询的销售订单中的数据一致,数据均为2条,

组织为:"jgj测试集团";
客户为:"jgj客户01";
商品为:"jgj苹果01";

3.4.设置受控对象

点击【设置受控对象】,按照领域、应用查找对应受控对象。

受控对象:是由各个领域对领域业务元数据设置数据权限后的一个对象集合;选择受控对象后语义模型执行时将与受控对象对应设置了数据权限控制,进行关联,从而起到数据权限过滤的效果。

设置受控对象是批量设置多个字段的权限管理维度的方式;如果语义模型已经设置过受控对象,则不需要对业务对象字段再进行设置权限管理维度;

语义模型可选择一个或多个受控对象,如未设置受控对象,如需要控制数据权限,则需要根据需要给模型字段设置权限管理维度。

3.5.设置数据聚合类型、新增自定义字段

用户选择字段列表中,增加一个聚合类型的列,默认聚合类型为【无】,用户可以对字段设置聚合类型,如:数量字段,用户可设置聚合类型,【求和】、【平均】、【最大】、【最小】、【去重计数】、【计数】;

用户可以增加计算字段,如果计算字段表达式中含有聚合函数,则聚合类型默认识别为【自动】,且用户不能调整聚合类型;如不含有聚合函数,用户则可以调整;

字段类型与聚合类型的矩阵关系表

  • 如果语义模型的选择字段的列表中,有字段设置了聚合,那么没有设置聚合的字段,即执行分组(GROUP BY)
  • 如果新增的自定义字段表达式中,包含聚合函数,聚合类型默认【自动】,且不能修改;
  • 如果新增的自定义字段表达式中,不包含聚合函数,则根据字段类型来判断函数的可选择范围。

下面,以具体的场景解释上面的描述:

我们给【数量】、【含税金额】、【含税成交价】设置聚合类型'求和'(原本的字段类型为整形),点击预览,可以看到数据以客户ID、客户名称等分组汇总数量、含税金额、含税成交价。如下图所示

以下示例仅为效果展示,和上面描述的销售订单场景无关。

  • 1.新增的自定义字段表达式中,不包含聚合函数,新增一个单据的年份日期,公式为:substring([单据日期],1,4),截取单据日期年份作为新增字段。完成新增字段点击预览我们可以看到数据以单据年(新增自定义字段)、单据日期、客户ID、客户简称分组汇总数量、含税金额、含税成交价。如图所示:

新增自定义字段-非聚合类型

新增自定义字段-非聚合类型预览

  • 2.新增的自定义字段表达式中,包含聚合函数,新增一个包含聚合函数的自定义字段,表达式为sum([含税成交价])/sum([含税金额]),点击保存,字段类型为自动,且不可修改。

点击预览,可以看到数据以单据日期、客户ID、客户简称分组汇总数量、含税金额、含税成交价、成交率(新增聚合类型的自定义字段)。如图所示:

4.描述器

4.1.筛选设置

筛选过滤支持用户添加条件(且条件、或条件)和公式(且公式、或公式),

支持选中相应的行添加条件和公式,支持删除条件、删除公式。

最多添加4层嵌套条件

支持参照选择字段,该字段来源:这里包含选择字段列表中的字段、关联档案中选择的字段、选择表中各类型对象(业务对象、数据源表、SQL脚本的元数据)的字段,如下图:

操作符:等于、不等于、大于、大于等于、小于、小于等于、包含、不包含、开头是、中间是、结尾是;

值类型:常量、参数、系统变量、权限标签、字段成员、字段、表达式;

如值类型为参数、权限标签,则有一列空值规则;

4.2.排序设置

支持用户参照选择语义模型的字段,给字段设置排列顺序(升序、降序);支持用户选择关联档案和选择表中涉及的表的其他字段进行排序。

支持用户设置最前N行,这样执行后,可获得数据执行后的前N行数据。

N的值默认为0,表示不限制;N的值为正整数;

5.选项-扩展编程

编程语法采用Groovy脚本,具体语法说明请参考:http://groovy-lang.org/

完全兼容java语法,扩展编程提供快捷编码:数据关联、数据合并、数据设置、数据过滤、数据排序、数据去重、指定表查询数据、指定模型查询数据、指定SQL查询数据、HTTP远程调用、日志输出等,详细使用方法见扩展编程页面【下载说明】

Copyright © 用友 -【生态技术部】 2022-2023 all right reserved,powered by Gitbook修订时间: 2023-04-23 13:43:28

results matching ""

    No results matching ""