与 Oracle EBS 集成
Oracle EBS(电子商务套件)集成支持使用 Incorta 数据提取功能的“订单到收款”数据模型。Incorta 使用托管或私有实例将数据从 Oracle 提取到 BigQuery CDC 数据集,并处理 CDC 处理。然后,Cortex Framework 使用 Cloud Composer 来编排 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 Setup Guide(适用于 Google Cortex 的 Oracle EBS 设置指南),详细了解如何将数据从 Oracle 提取到 BigQuery。
建议的配置
虽然 Incorta 支持按不同的间隔时间安排数据提取作业,但为了实现最佳性能和数据新鲜度,我们建议将 Incorta 数据提取作业安排为每天运行。如果您的用例需要处理已删除的数据,请务必按照 Incorta 文档中的处理来源删除操作部分中的说明进行操作,以启用相应功能。
报告配置
本部分概述了您的环境所需的报告配置。
Cloud Composer 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 部署前提条件。