TM1:查询多维数据集
通过您的 TM1 连接从 IBM TM1 / Planning Analytics 多维数据集读取数据,方式是运行已保存的视图,或编写 MDX 查询。视点(POV)可以在视图或 MDX 已固定的内容之外,进一步固定其他维度成员。返回的单元集会写入项目表——读时架构,包含各维度列以及一个 Value 度量列,均由查询自身的轴创建。
此步骤显示在步骤菜单的 IBM TM1 / Planning Analytics 下。
该步骤通过 REST API 云端直连 TM1——不涉及本地代理,目前此步骤也没有可用的代理。
| 字段 | 必填 | 备注 |
|---|---|---|
| TM1 连接 | 是 | 用于读取的 TM1 连接。 |
| 环境 | 是 | 连接的环境。 |
| 数据库 | 是 | 要查询的 TM1 数据库(实例)。如果设置了连接的默认数据库,则默认使用它。 |
| 多维数据集 | 是 | 要查询的 TM1 多维数据集。从已连接的数据库实时发现,或手动输入。 |
| 目标表 | 是 | 返回的单元集写入的项目表。 |
| 字段 | 必填 | 备注 |
|---|---|---|
| 源模式 | 是 | By View(默认)运行已保存的 TM1 视图。By MDX 运行您编写的原始 MDX 查询。 |
| 视图 | 选择按视图时 | 要运行的已保存 TM1 多维数据集视图。选定多维数据集后实时发现,或手动输入。 |
| MDX | 选择按 MDX 时 | 针对多维数据集运行的 MDX 查询。 |
为每个维度固定一个成员,以便在视图或 MDX 已固定的内容之外进一步限定切片——适用于增量提取(见下文)。添加一个维度行,选择维度,然后输入成员。成员值可以是字面值(Jan-2026),也可以是在运行时由工作流自身变量解析的 {variable} 标记,这与 MDX 字段本身所用的替换机制相同。对于普通的视图或 MDX 读取,请将视点留空。不支持在 By View 下同时应用视点——如需视点,请使用 By MDX。
| 字段 | 默认 | 备注 |
|---|---|---|
| 隐藏零值/空单元格 | 关 | 在获取单元格之后,丢弃值恰好为数字 0 的单元格。这不会节省带宽,而且在规划多维数据集中,已过账的 0 是真实数据,丢弃它是不对的。建议在查询本身中隐藏零值——在 MDX 中使用 NON EMPTY,或使用已保存视图自带的隐藏设置——这样 TM1 一开始就不会计算它们。 |
| 行数限制 | 250,000 | 限制返回的单元格数量。留空则使用默认上限 250,000;可以显式调高或调低——未设置的行数限制并不意味着无限制。超过有效限制的查询会被拒绝,而不是悄悄截断。 |
TM1 没有内置的变更跟踪,因此没有“只给我上次以来变化的内容”这样的调用。替代的做法是在每次运行时按期间(或版本)切片:在视点中将 Period 固定为 {period} 工作流变量,而不是字面成员名称,这样每次运行都会代入该次运行自己的目标期间,只拉取一个期间的数据,而不是整个多维数据集。将其与计划工作流以及每次运行递进的变量结合使用,即可逐期构建增量历史。
保存前,预览会针对 TM1 运行当前切片,并显示前几行和单元格数量,其行数上限很小,与步骤本身配置的行数限制无关。
当 Value 以文本形式写入时
Section titled “当 Value 以文本形式写入时”TM1 度量维度中通常同时包含数值元素(Sales、Cost)和字符串元素(Comment、Status)。跨越两者的切片会使 Value 列以文本形式写入——一列只有一种物理类型,切片中只要有一个非数值单元格就足以决定这一点。
这是正确的处理方式:将字符串单元格设为 null 会丢失数据,让查询失败会阻碍合法的多维数据集,拆分为两列又会使架构取决于返回的数据。步骤的做法是明确告知。它会发出警告,指明列、规模以及相关元素,例如:
Column Value landed as text: 3 of 4,812 cells are non-numeric (text or boolean), and a column can only have one type. The non-numeric cells come from element Comment. Exclude that element from the slice, or query it separately, to keep this column numeric.
预览会在保存前显示相同的详细信息,并且视点成员选取器会标出每个元素的 TM1 类型(数值、字符串或合并),因此在固定之前就能看到字符串元素。在视点中固定字符串元素并不会被阻止——这是读取文本度量的合理方式——但这样做会使整个 Value 列以文本形式写入,因为度量位于视点而不在轴上;在这种情况下,警告只报告数量而不指明元素,因为轴上的每个成员都同样是非数值的,没有哪一个能区分切片。
要使 Value 保持数值类型,请从切片中排除字符串元素,或分别查询字符串度量和数值度量。
| 限制 | 含义 |
|---|---|
| 只读 | 从 TM1 读取多维数据集数据。不支持回写,也不执行 TI 流程。 |
| 仅云端直连 | 此步骤目前没有本地 PlaidLink 代理路径——TM1 服务器需要有 PlaidCloud 可直接访问的网络路径。 |
| 无变更跟踪 | TM1 不提供增量/自某时间以来变更的 API。请改为每次运行时按期间或版本切片(见上文“增量提取”)。 |
| 不导入维度/层次结构 | 此步骤读取多维数据集数据。目前尚不支持将 TM1 维度层次结构导入为 PlaidCloud 维度。 |
- 连接到 TM1(指南)——创建连接并构建查询。
- TM1 连接器——连接字段参考。
- IBM TM1 / Planning Analytics 步骤