业务层定义对象的业务或逻辑模型及其在物理层中的业务模型和架构之间的映射.它简化了物理模式并将用户业务需求映射到物理表.
OBIEE系统管理工具的业务模型和映射层可以包含一个或多个业务模型对象.业务模型对象定义业务模型定义以及业务模型的逻辑表到物理表的映射.
业务模型用于简化模式结构并映射用户的业务需求到物理数据源.它涉及在业务模型中创建逻辑表和列.每个逻辑表可以有一个或多个物理对象作为源.
有两类逻辑表 : 事实和维度.逻辑事实表包含完成分析的度量,逻辑维度表包含有关Schema中度量和对象的信息.
使用OBIEE管理工具创建新存储库时,一旦定义了物理层,创建连接和识别外键.下一步是创建业务模型并映射存储库的BMM层.
定义业务层和减号所涉及的步骤;
创建商业模式
检查逻辑联接
检查逻辑列
检查逻辑表源
手动重命名逻辑表对象
使用重命名向导重命名逻辑表对象并删除不必要的逻辑对象
创建度量(聚合)
在存储库中创建业务层
创建在存储库中的业务层,右键单击 → 新商业模式 → 输入业务模型的名称,然后单击"确定".如果需要,您还可以添加此业务模型的描述.
BMM层中的逻辑表和对象
OBIEE存储库中的逻辑表存在于业务模型和映射BMM层中.业务模型图应包含至少两个逻辑表,您需要定义它们之间的关系.
每个逻辑表应该有一个或多个逻辑列以及一个或多个逻辑表源关联它.您还可以更改逻辑表名称,对逻辑表中的对象重新排序,并使用主键和外键定义逻辑连接.
在BMM层下创建逻辑表
有两种方法可以在BMM层中创建逻辑表/对象 :
第一种方法是将物理表拖动到业务模型,这是最快的方式定义逻辑表.将表从物理层拖动到BMM层时,它还会自动保留连接和键.如果需要,可以更改逻辑表中的连接和键,它不会影响物理层中的对象.
选择您想要的物理层下的物理表/别名表添加到业务模型层并在BMM层下拖动这些表.
这些表称为逻辑表,列称为业务模型和映射层中的逻辑对象.
第二种方法是创建手动编写逻辑表.在"业务模型和映射"层中,右键单击业务模型 → 选择New Object → 逻辑表 → 出现"逻辑表"对话框.
转到"常规"选项卡 → 输入逻辑表&rarr的名称;输入表格&rarr的描述;单击确定.
创建逻辑列
将表从物理层拖到业务模型层时,会自动创建BMM层中的逻辑列.
如果逻辑列是主键,此列显示为键图标.如果列具有聚合功能,则会显示sigma图标.您还可以在业务模型和映射层中重新排序逻辑列.
创建逻辑列
在BMM层中,右键单击逻辑表 → 选择New Object → Logical Column → 将出现"逻辑列"对话框,单击"常规"选项卡.
键入逻辑列的名称.业务模型的名称和逻辑表显示在列名称&rarr下面的"属于表"字段中;单击确定.
您还可以应用聚合逻辑列.单击Aggregation选项卡 → 从下拉列表&rarr中选择聚合规则;单击确定.
在列上应用聚合函数后,逻辑列图标将更改为显示已应用聚合规则.
您还可以在表格中删除或复制逻辑列;
In在BMM图层中,您可以选择多个要移动的列.在"移动列的源"对话框的"操作"区域中,选择一个操作.如果选择"忽略",则表的Sources文件夹中不会添加任何逻辑源.
如果单击"新建",将创建包含逻辑列的逻辑源的副本在Sources文件夹中.如果选择"使用现有选项",则从下拉列表中,必须从表的"源"文件夹中选择逻辑源.
创建逻辑复杂联接/逻辑外键
BMM层中的逻辑表使用逻辑连接相互连接.基数是逻辑连接中的关键定义参数之一.基数关系一对多意味着第一个逻辑维表中的每一行在第二个逻辑表中有0,1,多行.
自动创建逻辑连接的条件
将物理层的所有表拖动到业务模型层时,将在存储库中自动创建逻辑连接.这种情况很少发生在仅有简单商业模式的情况下.
当逻辑连接与物理连接相同时,它们会自动创建. BMM层中的逻辑连接以两种方式创建 :
业务模型图(在设计存储库时已经涵盖)
加入管理器
无法使用在物理层中创建连接的表达式或列来指定BMM层中的逻辑连接其中表达式和列名显示在哪些物理连接上.
使用Join Manager Tool创建逻辑连接/逻辑外键
首先让我们了解如何使用Join Manager创建逻辑外键.
在管理工具工具栏中,转到Manage → 加入.出现"连接管理器"对话框 → 转到"操作"选项卡 → 新的 → 逻辑外键.
现在在"浏览"对话框中,双击表 → 出现Logical Foreign Key对话框 → 输入外键&rarr的名称;从对话框的表下拉列表中,选择外键引用的表 → 在左表中选择外键引用&rarr的列;选择右表中构成外键列&rarr的列;从"类型"下拉列表中选择连接类型.要打开表达式生成器,请单击"表达式"窗格右侧的按钮 → 表达式显示在Expression窗格&rarr中;单击确定以保存工作.
使用Join Manager创建逻辑复杂连接
建议在业务模型和映射层中使用逻辑复杂连接使用逻辑外键.
在管理工具工具栏中,转到Manage → 加入 → 出现"连接管理器"对话框 → 去Action → 单击New → Logical Complex Join.
它将打开一个逻辑Join对话框 → 键入complex join&rarr的名称;在对话框左侧和右侧的表下拉列表中,选择复杂连接引用的表 → 从类型下拉列表&rarr中选择连接类型;单击"确定".
注意 : 您还可以从下拉列表中将表定义为驱动表.当表大小太大时,这用于性能优化.如果表大小很小,少于1000行,则不应将其定义为驱动表,因为它可能导致性能下降.
维度和层次级别
OBIEE存储库的BMM和Presentation层中存在逻辑维.使用层次结构创建逻辑维可以定义随维度变化的聚合规则.它还在分析和仪表板中的图表和表格上提供了向下钻取选项,并定义了聚合源的内容.
使用分层级别创建逻辑维度
以脱机模式打开存储库 → 转到File → 打开 → 离线 → 选择Repository .rpd文件,然后单击open → 输入Repository password → 单击OK.
下一步是创建逻辑维度和逻辑级别.
右键单击BMM层&rarr中的业务模型名称; New Object → Logical Dimension → 具有基于级别的层次结构的维度.它会打开对话框 → 输入名称 → 单击OK.
要创建逻辑级别,请执行 - 点击逻辑维度 → New Object → 逻辑级别.
输入逻辑名称level example:Product_Name
如果此级别为Grand total level,请选中该复选框,系统会将此级别的元素数量设置为1,默认为 → 单击"确定".
如果要将逻辑级别汇总到其父级,请选中"支持汇总到父级元素"复选框 → 单击"确定".
如果逻辑级别不是总计级别且未累计,请不要选中任何复选框 → 单击确定.
父子层次结构
您还可以按照以下步骤和减号在逻辑级别添加父子层次结构;
要定义子逻辑级别,请在"浏览"对话框中单击"添加",选择子逻辑级别,然后单击OK.
您也可以右键单击逻辑级别 → New Object → 子级别.
输入子级名称等级 → 好.您可以重复此操作,根据需要为所有逻辑列添加多个子级别.您还可以以类似的方式添加时间和区域层次结构.
现在将表的逻辑列添加到逻辑级 → 选择BMM图层中的逻辑列并将其拖动到要映射到的逻辑级子名称.类似地,您可以拖动逻辑表的所有列来创建父子层次结构.
创建子级别时,可以通过双击逻辑级别来检查它显示在该级别的子级别列表下.您可以使用此框顶部的" + "或"X"选项添加或删除子级别.
将事实表添加到事实表
双击逻辑事务表&rarr中的列名称;转到Aggregation选项卡,然后从下拉列表&rarr中选择Aggregate功能;单击确定.
度量表示数据是累加的,例如总收入或总数量.单击顶部的保存选项以保存存储库.
可以使用各种聚合函数,如Sum,Average,Count,Max,Min等.