Essbase:查询多维数据集
Essbase:查询多维数据集步骤对 Oracle Essbase 多维数据集运行 MDX SELECT,并将返回的网格写入目标表。它是真正的实时查询 — 步骤发送 MDX 并同步读取返回的网格,因此每次运行都反映多维数据集的当前数值。它不是提取,也不是轮询:没有需要等待的暂存作业,也没有在两次运行之间过期的快照。
可用它将多维数据集的特定切片 — 按期间划分的一组科目、方案对比,或分摊所用的一组动因 — 拉取到 PlaidCloud 表中,然后与其余数据一起转换、联接或报表。
- 一个指向 Essbase 21c+ 或 Oracle Analytics Cloud (OAC) 的 Oracle Essbase 连接,其服务账户能够读取要查询的应用程序和多维数据集。
- 连接 — Oracle Essbase 连接。选择器旁的编辑快捷方式会打开连接编辑器,用于查看或编辑。
- 应用程序 — 要查询的 Essbase 应用程序。选择器会列出连接的服务账户可见的应用程序;如果连接设置了默认应用程序,则会预先选中。
- 多维数据集(数据库) — 所选应用程序中要查询的多维数据集。
- MDX — 要运行的 MDX
SELECT语句。可通过引导式成员选择构建,也可直接编写(见下文)。 - 目标表 — 返回的网格写入的表。
可以通过两种方式生成 MDX:
- 引导式成员选择。 浏览多维数据集的维度和成员,选取放在列和行上的内容;步骤会为您组装 MDX。成员在展开时按层级逐级加载,因此大型大纲也能保持响应。
- 原始 MDX。 直接编写或粘贴 MDX
SELECT— 用于引导式选择器未涵盖的内容,例如计算成员、函数或集合运算符。
两种方式生成的是步骤运行的同一个 MDX 值;引导式选择器只是起点,您始终可以手动编辑。
| 字段 | 默认 | 备注 |
|---|---|---|
| 隐藏 #Missing 单元格 | 关 | 服务器端:在 #Missing 和其他结构上无关的单元格通过网络传输之前将其丢弃。安全 — 从不丢弃已过账的零值。 |
| 同时隐藏零值单元格(有损) | 关 | 单独的可选筛选器,在获取之后同时丢弃任何值恰好为 0 的单元格。有损:在计划多维数据集中,已过账的零是真实的事实,而不是没有数据 — 仅当您明确希望从结果中排除零值时才启用。 |
| 行数限制 | 250,000 | 限制返回的行数。留空则使用默认上限 250,000;也可显式调高或调低。超出限制的查询会被拒绝,而不是被悄悄截断 — 请缩小查询范围(添加切片器、NON EMPTY 或更精确的成员集),或调高行数限制,然后重试。 |
保存之前,预览会对多维数据集运行当前的 MDX,并显示返回的列和前几行 — 可快速检查查询的形态是否符合预期,与步骤本身配置的行数限制无关。
结果与读时模式
Section titled “结果与读时模式”Essbase 返回的网格会写入目标表,其列由返回的网格推导而来 — 即读时模式。无需预先声明列清单:
- 列名来自网格的标题行。不跨越任何内容的标题单元格(行标签上方的角落)会变为
column_1、column_2,依此类推;重复的名称会通过数字后缀变为唯一。 - 数据单元格全为数字的列会被定为数值类型;其他列定为文本类型。Essbase 的空单元格写入后为空值。
- 网格中的成员标签和别名标签来自连接上配置的别名表,每次运行都一致应用 — 而不是 Essbase 自身的每会话默认值,后者可能因查询运行时登录的用户不同而显示不同的标签文本。
由于表的形态跟随查询,更改 MDX 放在列上的内容会在下次运行时改变表的列 — 请在引用特定列名的下游步骤中留意这一点。
行级安全对写入的表的应用方式与对任何其他 PlaidCloud 表完全相同。治理作用于步骤写入的结果,因此带有行限制的读者只能看到其安全组允许的行 — 查询使用连接的服务账户运行,但它生成的表与您的其余数据一样受到治理。
此 MDX 将两个度量值放在列上,将两个产品放在行上:
SELECT {Sales, COGS} ON COLUMNS, {[100-10], [200-10]} ON ROWSFROM Sample.Basic对返回这四个数字的多维数据集运行后,会写入如下的表:
| column_1 | Sales | COGS |
|---|---|---|
| 100-10 | 678.0 | 271.0 |
| 200-10 | 551.0 | 235.0 |
行标签列在网格中没有标题,因此变为 column_1(文本);Sales 和 COGS 全为数字,因此写入为数值列。
- 连接到 Oracle Essbase(指南) — 创建连接并构建查询。
- Oracle Essbase 连接器 — 连接字段参考。
- Essbase:读取维度 — 以云直连方式将 Essbase 维度大纲加载到 PlaidCloud 维度。
- Oracle Essbase 步骤
- REST 请求 — 用于其他实时 HTTP 请求的通用步骤。