与 Oracle EBS 集成
Oracle EBS(E-Business Suite)集成支持使用 Incorta 进行数据提取的“订单到收款”数据模型。Incorta 使用托管实例或私有实例将数据从 Oracle 注入到 BigQuery CDC 数据集中,并处理 CDC。然后,Cortex Framework 会使用 Managed Service for Apache Airflow 来编排 BigQuery 作业,从而将 CDC 数据转换并具体化为报告资产。
下图描述了如何通过 Oracle EBS 运营工作负载获取 Oracle EBS 数据:

部署配置
下表列出了用于配置 Oracle EBS 工作负载的参数:config.json 文件用于配置从任何数据源(包括 Oracle EBS)转移数据所需的设置。此文件包含以下 Oracle EBS 参数:
| 参数 | 含义 | 默认值 | 说明 | 匹配 Oracle 源字段 |
|---|---|---|---|---|
OracleEBS.itemCategorySetIDs |
商品类别集 | [1100000425] |
用于对商品进行分类的套装列表。 | MTL_ITEM_CATEGORIES.CATEGORY_SET_ID |
OracleEBS.currencyConversionType |
货币换算类型 | "Corporate" |
要在汇总表中使用的币种换算类型。 | GL_DAILY_RATES.CONVERSION_TYPE |
OracleEBS.currencyConversionTargets |
货币换算目标 | ["USD"] |
要纳入汇总表中的目标币种列表。 | GL_DAILY_RATES.TO_CURRENCY |
OracleEBS.languages |
语言 | ["US"] |
用于显示商品说明等字段的翻译的语言列表。 | FND_LANGUAGES.LANGUAGE_CODE |
OracleEBS.datasets.cdc |
CDC 数据集 | - | CDC 数据集。 | - |
OracleEBS.datasets.reporting |
报告数据集 | "REPORTING_OracleEBS" |
报告数据集。 | - |
数据注入
请与 Incorta 代表联系,并参阅 Oracle EBS for Google Cortex 设置指南,详细了解如何将数据从 Oracle 注入到 BigQuery。
建议的配置
虽然 Incorta 支持按各种时间间隔安排数据注入作业,但为了获得最佳性能和数据新鲜度,我们建议您安排 Incorta 数据注入作业每天运行一次。如果您的使用情形需要处理已删除的数据,请务必按照 Incorta 文档处理源删除中的说明启用这些功能。
报告配置
本部分概述了您环境所需的报告配置。
Managed Airflow Airflow 连接
创建名为 oracleebs_reporting_bq 的 BigQuery Airflow 连接,该连接将由 BigQuery 运算符用于执行报告转换。如需了解详情,请参阅管理 Airflow 连接文档。
Materializer 设置
在 src/OracleEBS/config/reporting_settings.yaml 中查找实体化设置。
默认情况下,维度、标题和汇总表每天都会具体化。报告层表也按日期进行分区。您可以根据需要自定义分区和聚簇。如需了解详情,请参阅集群设置和表分区。
数据模型
本部分介绍了 Oracle EBS 从订单到收款的逻辑数据模型。每个子部分都将说明以下 Oracle EBS 实体关系图 (ERD)。
基本事实视图
这些是 ERD 中的蓝色对象,是 CDC 表的视图,除了某些列名别名之外,没有其他转换。
维度表
这些是 ERD 中的紫色对象,包含报告表使用的相关维度属性。默认情况下,这些维度会根据适用的部署配置参数值进行过滤。此集成还使用 Cortex K9 公历维度来处理日期属性,该维度默认处于部署状态。
标题表格
这些是 ERD 中的绿色对象,包含描述标题级订单和账单等商业实体的联接事实和维度。标题表按与每个实体对应的主要事件日期(例如 ORDERED_DATE 或 INVOICE_DATE)进行分区。
嵌套和重复的行
SalesOrders 和 SalesInvoices 表包含名为 LINES 的嵌套重复字段。这些字段用于将各种订单行和账单行归入其关联的标题下。如需查询这些嵌套字段,请使用 UNNEST 运算符将元素展平为行,如提供的示例脚本 (src/OracleEBS/src/reporting/ddls/samples/) 所示。
嵌套属性和重复属性
某些表包含其他嵌套的重复字段,例如 ITEM_CATEGORIES 或 ITEM_DESCRIPTIONS,其中同一属性的多个值可能适用于相应实体。如果取消嵌套这些重复属性,请务必过滤到单个属性值,以免过度统计指标。
已应用的应收款
SalesAppliedReceivables 是一个独特的表,其中的实体可以单独引用账单,也可以引用附带现金收据的账单。因此,存在嵌套(但不是重复)的 INVOICE 和 CASH_RECEIPT 字段,其中 CASH_RECEIPT 字段仅在 APPLICATION_TYPE = 'CASH' 时填充。
汇总表
这些是 ERD 中的红色对象,可从标题表汇总到每日指标。这些表还会按主要活动日期进行分区。汇总表仅包含可加性度量(例如,计数、总和),不包含平均值和比率等度量。这意味着,用户必须推导非加性指标,以确保在汇总到更高粒度(例如每月)时,这些指标能够得到适当的推导。
请参阅 src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql 等示例脚本。
货币换算金额
每个汇总表格都使用 CurrencyRateMD 维度来创建嵌套的重复字段 AMOUNTS,其中包含已转换为部署配置中指定的每种目标币种的货币度量。使用这些指标时,请务必过滤为单一目标币种或按目标币种分组以生成报告,以免出现重复统计的情况。您还可以在示例脚本(例如 src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql)中看到这一点。
嵌套的行属性和度量
SalesOrdersDailyAgg 表包含一个名为 LINES 的嵌套重复字段,用于区分行级属性和指标(例如 ITEM_CATEGORY_NAME 和 AMOUNTS)与标题级属性和指标(例如 BILL_TO_CUSTOMER_NAME 和 NUM_ORDERS)。请注意分别查询这些粒度,以免出现过度统计的情况。
虽然发票也有标题与行之分,但表 SalesInvoicesDailyAgg 仅包含行级指标,因此其结构与 SalesOrdersDailyAgg 不同。
接下来怎么做?
- 如需详细了解其他数据源和工作负载,请参阅数据源和工作负载。
- 如需详细了解生产环境中的部署步骤,请参阅 Cortex Framework Data Foundation 部署前提条件。
