-
辰哥 管理员
发表于2018-11-28 10:20
楼主
亿信BI中的分析表大多数都是基于主题表而创建的。那什么是主题?什么是主题表?主题表分哪几种类型、何种场景下使用、又是如何创建的?不同类型的主题表有什么区别等等,这就是我们今天要分享的内容。
什么是主题表?
主题是来自于数据仓库中的一个概念。根据项目需求,数据仓库需要进行主题建模,即根据用户决策时所关心的重点进行源数据的抽取、聚集等,将分散在各个业务系统中的数据根据主题有效的集成,形成事实表。亿信BI根据事实表生成主题表,以方便用户定义分析报表时拾取维度和指标,这就是BI的主题表。
主题表类型
亿信BI中定义了三种主题类型:物理主题、虚拟主题、引用主题。
物理主题
我们最用的主题一般指的是物理主题,每个物理主题都会对应一张数据库表;若考虑数据映射方案的情况,有可能对应多张数据库表。主题表和对应数据库表的结构一一对应,每个字段在数据库表中都对应相应的字段。
物理主题又分为3类主题表,如下表所示:
物理主题 | 创建方式 | 优势 | ||
创建物理主题 | 先添加维度和指标节点,再对应数据库表 | 可自定义主题表及数据库表结构 | ||
根据数据库表创建物理主题 | 数据库表已创建,根据数据库表创建主题表 | 创建快捷、方便 | ||
创建带表样的物理主题 | 先设计表样,再在“数据表映射”中对应数据库表 | 主题表类似分析表,制作分析表时一目了然 |
类似于数据库中的视图表,在数据库中以存储数据值集形式存在。作用相当于筛选,并且数据可以来自于一个或多个表。可用于复杂的报表模板取数。
在BI中虚拟主题为我们解决了:
1. 可以制作指标来自于多个物理主题表的拖拽式OLAP分析表;
2. 通过虚拟主题表可以定义较复杂、来源于多个物理主题的取数关系,报表模板直接取定义好的虚拟主题表指标,简化了报表模板的制作和维护。
说明:
1. 虚拟主题可拾取该主题集下的所有主题表的维度和指标。
2. 虚拟主题无需关联事实表,其数据来源于多个关联在一起的事实表。
引用主题
在本主题集下对其它主题集下主题表的引用。因为在亿信BI中不能跨主题集取数,因此引入了引用主题的概念。
引用主题仅仅是对其它主题集下主题表的一个引用,没有自己的结构和数据,我们只是把它当做跨主题集取数的一个桥梁而已,最终取数还是来自于它所引用的主题表。
如何创建主题表?
选中主题表,鼠标右键,选择“新建主题表”:
输入主题表的“名称”和“标题”,选择要定义的主题表类型,点击file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg:
其中:
【名称】多为字母、数字、下划线组成,通常为主题表标题的首字母;
【标题】根据需求定义主题表名称,辨识度高。
下面细说五大类型主题表是如何创建的。
【使用场景】
1. 主题表上的字段只是后台某个数据库表的很小一部分,此时想直接在前台界面将主题表上手工一一创建相关指标;
2. 后台没有数据库表的结构,想通过前台创建主题表的方式即创建了主题表又创建了后台数据库表结构。
在这两种情况下,都可以直接用创建物理主题表的方式。
【创建步骤】
输入主题表的“名称”和“标题”之后,选择“创建物理主题”,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg”:
点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg”,添加新节点:
其中:
【名称】通常与数据库表字段名称一致。 【别名】通常根据业务意义进行定义。当主题表的结构发生了变化,只要别名没有改变,那么在分析表中使用别名引用的字段就不会发生变化或错误。别名可以为空,若不为空,则优先级高于名称。
【标题】对指标进行文字型描述,便于用户的理解和使用。
【是否维】定义是否与维表关联。
【对应维表】如果与维表关联,则选择对应维表。
【数据类型】字段的数据类型,包含6种类型:字符、整型、浮点、布尔、日期和大字段。不同的字段含义选择合适的数据类型。
【长度】字段的长度。
【小数】数值型字段小数点位数。
【允许为空】是否允许空值。
【是否唯一】是否允许数据重复存在。
定义好主题的字段之后,可切换至“树形”模型,通过“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg”调整字段的顺序:
若检查无问题,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg”保存主题表,并设置关联数据库表。
保存后,在“主题表”下可看到已创建好的主题表:
在“数据库管理”中查询到“FACT_WLZT1”该张数据库表。
【使用场景】
数据库已有一张事实表FACT_SRZC_NEW(医疗机构收支表),要求根据该事实表,在BI平台上创建一张主题表。
【创建步骤】
输入主题表的“名称”和“标题”之后,选择“根据数据库表创建物理主题”,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image025.jpg”:
在相应的“映射方案”中选择数据库表名“FACT_SRZC_NEW”,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image029.jpg”:
完成后,还可对主题表进一步修改,比如添加别名、标题,挂载维表等。
若检查无问题,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg”保存主题表。
创建带表样的物理主题
【使用场景】
1. 在i@Report中有一张采集报表,现需要在BI中分析其指标,就可以根据采集表样设计带表样的物理主题;
2. 客户已给出分析表样,可根据需求设计带表样的物理主题。
【创建步骤】
比如我想创建一张下图图样的主题,怎么创建?
输入主题表的“名称”和“标题”之后,选择“创建带表样的物理主题”,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image025.jpg”:
根据需求设计表样:
给每个字段添加内容,比如“单位名称”,选中右侧表元,添加相应内容:
设置完成后,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg”保存主题表。
若是这张表样在i@Report中存在采集报表,格式为NPF,可直接将此报表导入到亿信BI中并创建为带表样的主题表。共有2种方式:
第一种:主题表鼠标右键,选择“导入npf文件”:
注意此处需要将npf文件压缩上传,适合批量创建带表样的主题表。
第二种:新建带表样的物理主题,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image047.jpg”的小三角-》文件-》装入本地文件,适合创建单个带表样的主题表。
带表样的物理主题创建完成后,还缺少关键的一步:给主题表关联数据库。
选中主题表所在的主题集,鼠标右键-》属性:
在“数据表映射”中双击此物理主题,弹出“数据表映射属性”,下拉选择数据库表名:
添加完成后,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image055.jpg”即可。
创建虚拟主题
【使用场景】
1. 想分析的指标和维度来自多个主题表中,希望整合到一张主题表中。
2. 想分析的指标需要做再次“加工”且此指标经常被使用。(通过较复杂运算得到)
【创建步骤】
输入主题表的“名称”和“标题”之后,选择“创建虚拟主题”,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg”:
切换至“树形”模式,在“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image062.jpg”上右键选择“成批拾取”:
下方显示该主题集下的所有主题表,点击不同主题表的维度和指标可拾取到该虚拟主题中。
若需要对指标进行分组,可先进行分组,再拾取指标。
再给某个分组下拾取指标,指标还可以进行各种运算:
若检查无问题,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image073.jpg”保存主题表。
创建引用主题
【使用场景】
1. 想分析的指标来源于不同主题域下的主题表;
2. 想分析的指标来源于不同的数据库连接池(即不同的数据库用户);
3. 想分析的指标来源于不同种类的数据库。
【创建步骤】
输入主题表的“名称”和“标题”之后,选择“创建引用主题”,点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg”:
下拉选择除本主题集以外,不同主题域下的各类型的主题表:
点击“file:///C:/Users/ESENSOFT/AppData/Local/Temp/msohtmlclip1/01/clip_image079.jpg”即可。
主题表的编辑模型共有四种:
n 列表:主题表默认列表显示,可见字段名称,标题,类型等。
n 树形:该模式主要是层次比较清晰,可以增加分组,编辑查看起来也比较方便。
n xml:主题表内容都保存在xml中,xml编辑器主要是针对那些需要从外部拷贝粘贴一些xml内容到编辑器中进行快速批量编辑的操作。
可视化:该模式给用户提供一种可视化的建模方法,通过简单的拖拽就能很快的定义出一张主题表;并且在可视化模式下,维表和事实表的关联直观表达给我们。
四种不同的模式具有不同的优缺点:
编辑模式 | 优点 | 缺点 |
列表编辑 | 列表编辑可以非常清楚直白的展现数据,可以方便的搜索指标,方便查看查找,对字段可以进行方便的细化编辑 | 不能像xml编辑器一样批量的增加字段,不能对字段进行分组,不能图形化的展示字段与维表之间的关联关系等 |
树形编辑 | 查看编辑起来跟列表编辑一样方便,可以添加分组,层次上非常清晰,节点可以相对随意拖动 | 没有列表编辑那样编辑查看方便,没有xml编辑那样批量增加修改 |
xml编辑 | 在主题表编辑区可以从外部拷贝粘贴一些内容到该编辑器中,也可以批量的删除一些内容,可以方便快速的进行编辑;保存主题表时,会检查主题表中的错误,如格式错误,如名称等为空,某些属性填写了非法的内容,名称重名等问题。 | 不能进行可视化编辑,需要手动输入名称表达式等内容,这样容易造成错误,对于主题表细化编辑不建议采取该编辑器 |
可视化编辑 | 通过简单的拖拽就能很快的定义出一张主题表 |