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