📜  OBIEE –业务层

📅  最后修改于: 2020-11-27 07:17:15             🧑  作者: Mango


业务层定义对象的业务或逻辑模型,以及它们在物理层中的业务模型和Schema之间的映射。它简化了物理架构,并将用户业务需求映射到物理表。

OBIEE系统管理工具的业务模型和映射层可以包含一个或多个业务模型对象。业务模型对象定义业务模型定义以及该业务模型从逻辑表到物理表的映射。

业务模型用于简化架构结构,并将用户的业务需求映射到物理数据源。它涉及在业务模型中创建逻辑表和列。每个逻辑表可以具有一个或多个物理对象作为源。

逻辑表分为两类-事实和维度。逻辑事实表包含进行分析的度量,而逻辑维表包含有关Schema中度量和对象的信息。

使用OBIEE管理工具创建新存储库时,一旦定义了物理层,就创建联接并标识外键。下一步是创建业务模型并映射存储库的BMM层。

定义业务层涉及的步骤-

  • 建立商业模式
  • 检查逻辑联接
  • 检查逻辑列
  • 检查逻辑表源
  • 手动重命名逻辑表对象
  • 使用重命名向导重命名逻辑表对象并删除不必要的逻辑对象
  • 创建度量(汇总)

在存储库中创建业务层

要在存储库中创建业务层,请右键单击→新建业务模型→输入业务模型的名称,然后单击确定。如果需要,还可以添加此业务模型的描述。

创建业务Layer1创建业务Layer2

BMM层中的逻辑表和对象

OBIEE存储库中的逻辑表存在于业务模型和映射BMM层中。业务模型图应至少包含两个逻辑表,并且您需要定义它们之间的关系。

每个逻辑表应具有一个或多个逻辑列以及与其关联的一个或多个逻辑表源。您还可以更改逻辑表名称,对逻辑表中的对象重新排序以及使用主键和外键定义逻辑联接。

在BMM层下创建逻辑表

在BMM层中有两种创建逻辑表/对象的方法-

第一种方法是将物理表拖到业务模型中,这是定义逻辑表的最快方法。将表从物理层拖到BMM层时,它还会自动保留联接和键。如果要更改逻辑表中的联接和键,则不会影响物理层中的对象。

在要添加到业务模型层的物理层下选择物理表/别名表,然后将这些表拖到BMM层下。

这些表被称为逻辑表,列在业务模型和映射层中被称为逻辑对象。

在BMM Layer1下创建逻辑表

第二种方法是手动创建逻辑表。在业务模型和映射层中,右键单击业务模型→选择新对象→逻辑表→逻辑表对话框。

转到“常规”选项卡→输入逻辑表的名称→键入表的描述→单击“确定”。

在BMM Layer2下创建逻辑表

创建逻辑列

当您将表从物理层拖到业务模型层时,会自动创建BMM层中的逻辑列。

如果逻辑列是主键,则此列与键图标一起显示。如果该列具有聚合函数,则会显示一个sigma图标。您还可以在业务模型和映射层中对逻辑列进行重新排序。

创建一个逻辑列

在BMM层中,右键单击逻辑表→选择“新建对象”→“逻辑列”→“逻辑列”对话框将出现,单击“常规”选项卡。

键入逻辑列的名称。业务模型的名称和逻辑表将出现在列名正下方的“属于表”字段中→单击“确定”。

创建逻辑列

您也可以在逻辑列上应用聚合。单击“聚合”选项卡→从下拉列表中选择“聚合规则”→单击“确定”。

将聚合函数应用于列后,逻辑列图标将更改为显示已应用聚合规则。

应用汇总功能

您还可以在表中移动或复制逻辑列-

在BMM层中,可以选择要移动的多个列。在“移动的列的来源”对话框的“动作”区域中,选择一个动作。如果选择“忽略”,则不会在表的“源”文件夹中添加任何逻辑源。

如果单击“新建”,则会在“源”文件夹中创建带有逻辑列的逻辑源副本。如果选择“使用现有选项”,则必须从下拉列表中从表的“源”文件夹中选择一个逻辑源。

创建逻辑复杂连接/逻辑外键

BMM层中的逻辑表使用逻辑联接彼此联接。基数是逻辑联接中定义的关键参数之一。基数关系一对多意味着第一逻辑维表中的每一行有0、1,第二逻辑表中的许多行。

自动创建逻辑联接的条件

将物理层的所有表拖到业务模型层时,逻辑联接将自动在存储库中创建。仅在简单业务模型的情况下,这种情况很少发生。

当逻辑联接与物理联接相同时,将自动创建它们。 BMM层中的逻辑联接以两种方式创建-

  • 业务模型图(在设计存储库时已涵盖)
  • 加盟经理

BMM层中的逻辑联接不能使用在其上创建联接的表达式或列进行指定,就像在物理层中(其中定义了物理联接的表达式和列名显示)一样。

使用联接管理器工具创建逻辑联接/逻辑外键

首先,让我们看看如何使用Join Manager创建逻辑外键。

在管理工具工具栏中,转到管理→联接。出现“加入管理器”对话框→转到“操作”选项卡→“新建”→“逻辑外键”。

现在,在“浏览”对话框中,双击一个表→出现“逻辑外键”对话框→输入外键的名称→从对话框的“表”下拉列表中,选择外键引用的表→选择左表中外键引用的列→在右表中选择组成外键列的列→从“类型”下拉列表中选择联接类型。要打开“表达式生成器”,请单击“表达式”窗格右侧的按钮→表达式将显示在“表达式”窗格中→单击“确定”以保存工作。

使用联接管理器创建逻辑复杂联接

与使用逻辑外键相比,在业务模型和映射层中建议使用逻辑复杂联接。

在“管理工具”工具栏中,转到“管理”→“加入”→“加入管理器”对话框→转到“操作”→单击“新建”→“逻辑复杂加入”。

它将打开一个逻辑联接对话框→输入复杂联接的名称→在对话框左侧和右侧的表下拉列表中,选择复杂联接引用的表→从列表中选择联接类型。键入下拉列表→单击确定。

注意-您还可以从下拉列表中将表定义为行驶表。当表大小太大时,这用于性能优化。如果表的大小很小,少于1000行,则不应将其定义为驱动表,因为它会导致性能下降。

维度和层次级别

逻辑维度存在于OBIEE存储库的BMM和Presentation层中。使用层次结构创建逻辑维可以使您定义随维而异的聚合规则。它还在分析和仪表板中的图表和表上提供了向下钻取选项,并定义了汇总源的内容。

使用层次结构级别创建逻辑维

在脱机模式下打开存储库→转到文件→打开→脱机→选择存储库.rpd文件,然后单击打开→输入存储库密码→单击确定。

下一步是创建逻辑维度和逻辑级别。

右键单击BMM层中的业务模型名称→新建对象→逻辑维→具有基于级别的层次结构的维。它将打开对话框→输入名称→单击确定。

逻辑维度

要创建逻辑级别,请右键单击逻辑维→新建对象→逻辑级别。

逻辑维新对象

输入逻辑级别示例的名称:Product_Name

如果此级别为总计级别,请选中该复选框,系统默认会将该级别的元素数设置为1→单击“确定”。

如果希望逻辑级别汇总到其父级,请选中“支持汇总到父级元素”复选框,然后单击“确定”。

如果逻辑级别不是总计级别并且没有汇总,则不要选择任何复选框→单击“确定”。

逻辑层次

亲子阶层

您还可以按照以下步骤在逻辑级别添加父子层次结构-

要定义子逻辑级别,请在“浏览”对话框中单击“添加”,选择子逻辑级别,然后单击“确定”。

您也可以右键单击逻辑级别→新建对象→子级别。

亲子阶层

输入子级别的名称→确定。您可以重复此操作以根据要求为所有逻辑列添加多个子级别。您也可以类似的方式添加时间和地区层次结构。

现在,将表的逻辑列添加到逻辑级别→在BMM层中选择逻辑列,并将其拖动到要映射到的逻辑级别子名称。同样,您可以拖动逻辑表的所有列来创建父子层次结构。

创建子级别时,可以通过双击逻辑级别进行检查,并将其显示在该级别的子级别列表下。您可以使用此框顶部的“+”或“ X”选项来添加或删除子级别。

儿童等级

将计算添加到事实表

双击逻辑事实表中的列名→转到“聚合”选项卡,然后从下拉列表中选择“聚合”函数→单击“确定”。

将计算添加到事实表

度量表示可加的数据,例如总收入或总数量。单击顶部的保存选项以保存存储库。

可以使用各种汇总函数,例如求和,平均值,计数,最大值,最小值等。