使用TurboIntegrator (TI)导入关系数据库数据进入 IBM Planning Analytics
2026/6/16 12:32:51 网站建设 项目流程

从关系型数据库(如IBM DB2)导入数据,是IBM Planning Analytics在生产环境下的核心能力。这主要依赖其强大的TurboIntegrator(简称TI)进程。简单来说,就是通过TI进程建立ODBC连接,并编写SQL查询来抽取数据。

🧱 为什么需要 TurboIntegrator (TI)?

在真实的项目中,数据源多种多样。TI 进程正是为了解决这个问题而设计的,它可以连接CSV文件、关系数据库、其他多维数据集等多个外部数据源。
它提供了高度的灵活性,你可以编写SQL语句从源系统中挑选特定的数据列,再通过TI脚本将这些列的数据,映射并写入到目标模型的维度和立方体中。
从最新的版本来看,这类导入也得到了加强,例如可以直接从ODBC数据源导入维度和数据,甚至可以在一次引导式导入中同时处理元数据和数据。

⚙️ 如何通过TI进程从DB2导入数据?

通过TI进程进行数据导入大致需要经过三个步骤。

  1. 前置准备:建立ODBC连接
    由于TI进程依靠ODBC与数据库对话,这一步需要在TI能访问到的环境中建立ODBC连接。根据你的部署方式,操作有所不同:

    • PA Local (本地部署):DB2的ODBC客户端软件(包含驱动)必须安装在运行TM1数据库的同一台服务器上。

    • PA on Cloud / SaaS (云上部署):可以通过IBM Satellite Connector(卫星连接器)安全连接到云端的数据库。新版本的PA SaaS还可以使用ExecuteHTTPRequestTI函数调用数据库的REST API,但对于传统的DB2数据库,ODBC仍然是主流方式。

  2. 核心实现:创建并使用ODBC数据源的TI进程
    连接建立后,就可以在PAW里创建TI进程了。

    • 新建进程并配置数据源:在Workbench的数据库树中,右键点击Processes->Create new process。在Data Source选项卡中,数据源类型选择Database connection,然后从下拉列表中选择你提前配置好的ODBC数据源名称(DSN)。

    • 编写SQL查询:TI进程不关心表名,它需要通过SQL查询来获取数据。你可以在“Database connection query”区域编写SELECT语句,例如:

      sql

      SELECT GL_Account_Code AS Account_Code, GL_Account_Name AS Account_Name, GL_Account_Type AS Account_Type, Dept_Code, Jan_Amount, Feb_Amount, Mar_Amount FROM FACT_TABLE WHERE FISCAL_YEAR = 2026
    • 自动生成变量:点击“Preview”,TI会自动将SQL查询的返回列(如Account_Code)识别为变量。

    • 编写脚本处理数据:TI进程包含PrologMetadataDataEpilog四个主要的脚本区域。
      Data选项卡中编写的代码会被执行一次,来处理SQL查询返回的每一行数据,以加载损益表的实际金额为例:

      1. 确定维度成员:使用SQL中的列(这里是Account_Code)作为维度元素名称。

      2. 写入数值:将Jan_Amount列的值写入到Amount度量值对应的单元格。

  3. 总结:TI进程处理单行数据的逻辑
    最终,Data区域的脚本逻辑如下:

    TI进程遍历SQL查询返回的每一行,并从中提取相关信息来填充立方体的一个单元格。

    例如,某行数据返回了Account_Code = '4000'Jan_Amount = 1000.00,那么TI进程在Data部分执行的代码,效果类似于:
    CellPutN( Jan_Amount, 'IS Reporting', '4000', '101', 'Actual', '2020-01', 'Amount')

    这是一个逻辑上的示意,旨在说明Account_CodeJan_Amount等列是如何被用作填充单元格的依据。实际的PAW / TI脚本语法会有些不同。

🚀 进阶场景

  • 反向数据导出:TI进程也能通过ODBC将PA中的数据写回关系型数据库,实现数据的闭环流转。

  • 任务自动化:创建好的TI进程可以设置为定期执行的Chore(定时任务),实现数据同步的自动化。

  • 流程编排与复杂模型:对于更复杂的数据集成需求,也可以使用专业的ETL工具(如IBM DataStage)作为桥梁,这类工具通常内置了对关系数据库和Planning Analytics的优化连接器,能更好地应对复杂的转换清洗和任务编排。

💎 总结

总的来说,从关系数据库导入数据,核心是掌握TI进程这个工具。无论数据源是CSV还是DB2,在TI看来都是一样的:你需要为它指定数据来源和连接方式,然后编写脚本告诉它“如何将数据模型化”。

如果能提供更多关于你数据源(比如是本地部署还是云端DB2)以及表结构的信息,我可以为你提供更具体的方案或脚本示例。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询