OBIEE——业务层


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

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

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

逻辑表有两类:事实表和维度表。逻辑事实表包含进行分析的度量,逻辑维度表包含有关架构中的度量和对象的信息。

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

定义业务层涉及的步骤 -

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

在存储库中创建业务层

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

创建业务层1 创建业务层2

BMM层逻辑表和对象

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

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

在BMM层下创建逻辑表

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

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

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

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

在BMM Layer1下创建逻辑表

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

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

在BMM Layer2下创建逻辑表

创建逻辑列

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

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

创建逻辑列

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

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

创建逻辑列

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

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

应用聚合函数

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

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

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

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

BMM 层中的逻辑表使用逻辑连接相互连接。基数是逻辑连接中关键的定义参数之一。基数关系一对多意味着第一个逻辑维表中的每一行在第二个逻辑表中都有0、1、多行。

自动创建逻辑连接的条件

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

当逻辑连接与物理连接相同时,它们会自动创建。BMM 层中的逻辑连接通过两种方式创建 -

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

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

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

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

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

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

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

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

在管理工具工具栏中,转到管理 → 联接 → 出现联接管理器对话框 → 转到操作 → 单击新建 → 逻辑复杂联接。

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

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

维度和层次结构级别

逻辑维度存在于 OBIEE 存储库的 BMM 和表示层中。使用层次结构创建逻辑维度允许您定义随维度变化的聚合规则。它还在分析和仪表板中的图表和表格上提供向下钻取选项,并定义聚合源的内容。

创建具有层次结构级别的逻辑维度

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

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

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

逻辑维度

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

逻辑维度新对象

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

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

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

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

逻辑层

父子层次结构

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

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

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

父子层次结构

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

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

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

儿童级别

将计算添加到事实表

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

将计算添加到事实表

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

可以使用多种聚合函数,例如 Sum、Average、Count、Max、Min 等。