用例 7:创建具有层次结构的自定义维

您可以通过定义基于父子级别的层次结构来创建具有层次结构的维。

预构建的 SCM –销售订单主题区域不包含所需的维–交易方层次结构维维属性和层次级别。在此用例中,您可以将文件夹维 - 交易方层次结构维添加到 SCM –销售订单预构建主题区域。此文件夹包含 Accounts Level Hierarchy(账户级别层次结构)层次结构,其中包含四个级别以及一个详细的最低级别。使用交易方 ID 键将具有层次结构的自定义维联接到预构建的事实 - OM 销售订单事实。

此用例需要订阅 Fusion SCM Analytics 。但是,您可以将本用例中介绍的概念应用于任何其他 Fusion Data Intelligence 订阅。该用例可以参考 Autonomous AI Lakehouse 预构建表和同义词,并模拟定制数据库表和视图。如果您已激活指定的 Fusion Data Intelligence 订阅,则可以使用提供的示例。建议将示例对象替换为您自己的定制 Autonomous AI Lakehouse 对象,例如定制表、实体化视图、视图、定制同义词或数据扩充数据集同义词。

使用以下命令完成此任务:
  • 预构建的主题区域:SCM –销售订单
确保参考上载语义模型扩展用例的示例并完成以下先决条件:
  • 创建一个名为 MySandbox5Mar25 的沙盒。请参阅创建沙盒。或者,编辑“语义模型扩展”页上的现有沙盒;例如,单击 MySandbox5Mar25 沙盒。
  • 使用此 SQL 脚本生成示例维视图 FDI_X_PARTY_HIERARCHY_D_V:
    CREATE OR REPLACE FORCE EDITIONABLE VIEW "OAX_USER"."FDI_X_PARTY_HIERARCHY_D_V" ("PARTY_ID", "LVL1", "LVL2", "LVL3", "LVL4", "LVL_DETAIL") DEFAULT COLLATION "USING_NLS_COMP"  AS 
      (
    SELECT DISTINCT
    PARTY_ID,
    NVL(COUNTRY,'~No Value~') as LVL1,
    NVL(STATE,'~No Value~') as LVL2,
    NVL(CITY,'~No Value~') as LVL3,
    NVL(POSTAL_CODE,'~No Value~') as LVL4,
    NVL(PARTY_NAME,'~No Value~') as LVL_DETAIL
    FROM
    OAX$OAC.DW_PARTY_D
    where (CUSTOMER_FLAG <> 'N' or CUSTOMER_FLAG is null)
    );
  • 使用以下 SQL 脚本为 OAX$OAC 方案授予对 FDI_X_PARTY_HIERARCHY_D_V 视图的语义模型访问权限:
    GRANT SELECT ON "OAX_USER"."FDI_X_PARTY_HIERARCHY_D_V" TO "OAX$OAC";
  • 使用以下 SQL 脚本验证数据是否按预期从示例加载:
    SELECT * FROM OAX_USER.FDI_X_PARTY_HIERARCHY_D_V;
  • 通过在 SQL Developer Client 的右窗格中的“SQL Worksheet(SQL 工作表)”下输入此 SQL 脚本,确认外键是唯一的,这样可以避免由于粒度错误而导致可能重复的结果不准确:
    SELECT PARTY_ID, COUNT(*)
    FROM FDI_X_PARTY_HIERARCHY_D_V
    GROUP BY PARTY_ID
    HAVING COUNT(*) > 1;

将自定义详情添加到语义模型

您可以编辑逻辑星型,以定义自治数据仓库对象、属性、显示标签、键和层次结构。

在此步骤中,您可以编辑事实 - OM 销售订单逻辑星形,以添加引用自治数据仓库对象 FDI_X_PARTY_HIERARCHY_D_V 的自定义维 Dim –交易方层次结构维,并定义一个名为账户层层次结构的多层层次结构。对于每个级别,用例定义唯一的主键和显示属性。
  1. 在“语义模型扩展”页上,单击 MySandbox5Mar25 沙盒。
  2. 在执行操作中,依次单击管理逻辑星和编辑逻辑星,选择开箱即用,选择 SCM –销售订单主题区域,选择实际– OM 销售订单,然后单击下一步。
  3. 在“逻辑星形:事实”页上,单击管理维,然后单击添加维。

    显示“管理维”值列表的“逻辑星形:事实”页

  4. 在“添加维”页的向导步骤 1 中,在方案中选择 OAX_USER ,在对象中选择 FDI_X_PARTY_HIERARCHY_D_V ,并将维名称重命名为交易方层次结构维。选中 PARTY_ID 源列的用于关键字复选框,选中 LVL2 、 LVL_DETAIL 、 LVL3 、 LVL4 、 LVL1 和 PARTY_ID 源列的添加属性复选框,然后单击下一步。

    “添加维”页上的向导步骤 1

  5. 选中将层次添加到主题区域复选框,在名称中输入帐户级别层次,然后将每个属性拖动到其对应级别。

    向导的“添加维”页上的步骤 2,其中显示如何组合层次

  6. 对于每个级别,单击该级别,单击铅笔图标,然后设置主键和显示属性。

    注意:

    您可能希望为每个级别使用内部 ID/整数键(如果可用)。对于详细信息级别,此关键字的此用例使用方 ID。


    a

  7. 单击完成。

将物理列添加到预生成事实以公开要连接的外键

您可以扩展预生成事实以公开将用作键的物理列,从而在逻辑星形中联接新的定制维。您必须为逻辑列指定唯一名称。

在此步骤中,您扩展了事实 - OM 销售订单,以公开实际列 BILL_TO_PARTY_ID,将其用作联接到新的自定义维 Dim –交易方层次结构维的键。BILL_TO_PARTY 被指定为唯一名称 Party ID 。
  1. 在“语义模型扩展”页上,单击 MySandbox5Mar25 沙盒。
  2. 在执行操作中,依次单击管理逻辑星和编辑逻辑星,选择开箱即用,选择 SCM –销售订单主题区域,选择实际– OM 销售订单,然后单击下一步。
  3. 在“逻辑星形:事实”页上,右键单击事实 - OM 销售订单,然后单击管理扩展。

    显示“事实 - 订单管理销售订单”的“逻辑星形:事实”页面的“管理扩展”选项

  4. 在“添加列”页上,单击添加物理列,然后在选择物理列中,从 Fact_DW_OM_FULFILLMENT_CF 中选择 BILL_TO_PARTY_ID ,然后单击确定。

    “选择物理列”页面

  5. 在逻辑列下,输入交易方 ID 作为唯一名称,然后单击完成。

    在逻辑列下输入唯一名称

将自定义维层次结构联接到预生成事实

通过定义联接类型、联接条件和上下文级别,可以将定制维层次联接到预生成事实。虽然可以定义复杂联接,但尽可能使用标准联接。

在此步骤中,使用每个表中的交易方 ID 键,在预构建的事实 - OM 销售订单事实上定义到自定义维层次结构维 - 交易方层次结构维的标准内部联接。您可以将内容级别设置为详细信息。
  1. 在“语义模型扩展”页上,单击 MySandbox5Mar25 沙盒。
  2. 在执行操作中,依次单击管理逻辑星和编辑逻辑星,选择开箱即用,选择 SCM –销售订单主题区域,选择实际– OM 销售订单,然后单击下一步。
  3. 在“逻辑星形:数值”页面上,从自定义维层次拖动到预生成数值。

    “Logical Star:Fact(逻辑星形:事实)”页,其中显示了如何通过拖动将定制维层次联接到预生成的事实

  4. 在“联接”对话框中,基于交易方 ID (添加了新物理列)和交易方 ID (来自自定义维层次结构)进行联接。此示例使用内部联接。其他人可能需要左(或其他联接类型)。将上下文级别设置为详细信息,然后单击完成。

    “联接”对话框

  5. 以图形模式查看联接。

    以图形模式查看联接

  6. 单击“Logical Star:Fact(逻辑星形:事实)”页面上的向后箭头以导航回“Sandbox:MySandbox5Mar2025”页面。

在语义模型中呈现定制维层次

您可以修改主题区域以显示新的自定义维属性和层次级别。

系统将维表示为包含主题区域中的列的文件夹,并表示自定义维文件夹底部的层次级别。工作簿中使用的层次结构级别可以展开和折叠以显示或隐藏详细行。

在此步骤中,您将修改 SCM –销售订单主题区域,以显示新的自定义维–交易方层次结构维文件夹,其中包含具有四个级别(级别 1、级别 2、级别 3、级别 4)和最低详细级别的自定义层次结构客户级别层次结构。

  1. 导航到 MySandbox5Mar25 页面,单击执行操作,单击管理主题区域,选择修改主题区域,选择 SCM 销售订单主题区域,然后单击下一步。
  2. 在向导的步骤 1 的“修改主题区域”页上,查看详细信息,然后单击下一步。
  3. 在向导的步骤 2 中,单击管理元素,单击管理新定制,然后在“添加主题区域”中选择层次和维元素,然后单击添加。

    显示所选层次和维元素的“添加主题区域”对话框

  4. 复查所选元素并单击完成。

    查看自定义层次结构“客户层层次结构”中的选定层次结构和维元素

应用和发布自定义

您可以应用更改来编译沙盒,并确保沙盒没有错误。

然后,使用“Activity(活动)”选项卡调试、解决错误并确认“Apply Changes(应用更改)”操作完成且成功。最后,将更改合并到主沙盒并发布主用户扩展,以便与使用者共享新扩展。

在此步骤中,您将应用更改,使用“活动”选项卡监视状态,将 MySandbox5Mar25 沙盒合并到“主”沙盒,然后发布主用户扩展。

  1. 在“语义模型扩展”页上,将鼠标悬停在 MySandbox5Mar25 沙盒上以查看操作,然后单击应用更改。
  2. 单击“活动”选项卡以监视“活动”页上的应用更改任务。
  3. 成功应用更改后,单击“语义模型扩展”页上的发布模型。
  4. 在“发布模型”中,在“用户扩展”中,选择 MySandbox5Mar25 ,在“安全配置”中,选择全部。
  5. 单击发布。
  6. 在“语义模型扩展”页上,单击“活动”选项卡以监视发布定制任务。
    请参阅应用更改和发布模型。

验证结果

验证您的自定义在语义模型中是否可见。

  1. 在 Fusion Data Intelligence 控制台上,单击转至主页。
  2. 在 Oracle Analytics 主页上,单击创建,单击工作簿,在“添加数据”中,选择 SCM –销售订单,然后单击添加到工作簿。
  3. 验证默认情况下具有层次的新维是否显示在文件夹的底部。

    具有层次的新维

  4. 将级别 1 和度量添加到可视化。

    层次结构的第 1 层

  5. 展开和折叠级别并确认它们按预期工作。

    展开和折叠的层次结构级别

  6. 验证维字段是否也可供使用(不展开或折叠)。

    可供使用的维字段

  7. 查看报告。

    显示自定义层次结构详细信息的报表